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í
×
    včera 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.9. 19:11 | Zajímavý projekt

    Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.

    … více »
    AfD 💙 | Komentářů: 1
    18.9. 16:55 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.

    Ladislav Hagara | Komentářů: 3
    18.9. 13:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).

    Ladislav Hagara | Komentářů: 0
    18.9. 03:33 | Nová verze

    Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    17.9. 23:11 | Komunita

    Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své

    … více »
    AfD 💙 | Komentářů: 49
    17.9. 17:55 | IT novinky

    Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.

    Ladislav Hagara | Komentářů: 0
    17.9. 16:44 | IT novinky

    Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.

    Ladislav Hagara | Komentářů: 4
    16.9. 23:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.

    Ladislav Hagara | Komentářů: 4
    16.9. 21:44 | Nová verze

    Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.

    Ladislav Hagara | Komentářů: 38
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2696 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 547×

    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áknoNahoru

    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.