abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 2
    dnes 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 1
    dnes 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 1
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 3
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 44
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2939 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Rozdělení textu, pomoc s regulárním výrazem.

    Martin Stiborský avatar 11.11.2009 19:25 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozdělení textu, pomoc s regulárním výrazem.
    Přečteno: 584×

    Ahoj.

    Mám textový řetězec, ze kterého potřebuji vytáhnout jeho části podle určitého vzoru, bohužel je více možností, jak ten řetězec může vypadat.

    Varianty jsou:

    • :: První část :: Druhá část
    • :: Jenom jedna část
    • Nebo jen kus textu bez teček
    Druhá část tedy být může a nemusí, jistota je, že tam bude kus textu, který může a nemusí být uvozen tečkami.
    No a já potřebuji získat odděleně ty dvě části, pokud jsou dvě, jinak vybrat jenom tu jednu.
    Celé to provádím v Pythonu, je to součást Qt programu. Zkoušel jsem to přes split(). Split z Qt knihovny má fajn příznak "SkipEmptyParts", takže toto:

    QtCore.QString(":: První část :: Druhá část").split("::", QtCore.QString.SkipEmptyParts)

     

    Mi vrátí přesně ty dvě části. Takže kdybych vymyslel jak ošetřit výjimku ValueError při neexistenci druhé části při volání tohoto:

     

    prvniCast, druhaCast = text.split("::", QtCore.QString.SkipEmptyParts)

     

    Tak by se mi to líbilo :) Když druhá část neexistuje, potřeboval bych té proměnné přiřadit "None", to by bylo ideální.

    No a nebo můžu použít regulární výraz, nevím který postup bude lepší. Mám tu jeden, který jsem před nějakou dobou asi stvořil, ale mám ho neokomentovaný, takže nemám šajn jak to funguje (no, možná zlehka tuším :) ) , jako obvykle když se trápím s regexpy.

     

    re.compile(r"(?P<name>^::\w[^::]+)?(?P<text>.*)", re.UNICODE)

     

    Jak by jste to řešili vy prosím ?

    Děkuji za pomoc.

    Kvík ..

    Odpovědi

    11.11.2009 20:59 l4m4
    Rozbalit Rozbalit vše Re: Rozdělení textu, pomoc s regulárním výrazem.
    [x for x in s.split('::') if x]
    je senzam neprázdných částí.

    Pak snad stačí append(None) nebo insert(0, None) (nepochopil jsem, kde chceš to None mít), je-li délka senzamu jen 1.
    Přemek Vyhnal avatar 12.11.2009 23:02 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    Rozbalit Rozbalit vše Re: Rozdělení textu, pomoc s regulárním výrazem.
    v pythonu nevim, ale match regexem treba nejak takhle?
    m/(::\s*)?([^:]*)((::\s*)?(.*))?/
    a bude to v $2, prip. druhy v $5
    NO RAPTORS!

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.