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 22:44 | Nová verze

    Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.

    Ladislav Hagara | Komentářů: 5
    včera 14:22 | Komunita

    KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].

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

    Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 7
    včera 11:11 | Nová verze

    Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Nová verze

    Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.

    Ladislav Hagara | Komentářů: 3
    včera 03:44 | IT novinky

    Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.

    Ladislav Hagara | Komentářů: 23
    9.2. 23:43 | IT novinky

    Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »

    Ladislav Hagara | Komentářů: 19
    9.2. 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    9.2. 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 833 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Regulární výraz-získání hodnot

    26.9.2007 18:32 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Regulární výraz-získání hodnot
    Přečteno: 322×

    Nevíte, jak ze souboru tohoto typu:

     <option value="152">Abertamy</option>
                          <option value="269">Adamov u Brna</option>
                          <option
                  value="479">Adolfovice</option>
                          <option value="182">Adršpach</option>
                          <option value="170">Albrechtice</option>
                          <option
                  value="271">Aš</option>
                          <option value="293">Babylon</option>
                          <option
                  value="459">Bačetín</option>
                            <option value="179">Bartošovice v
                              Orlických horách</option>
                          <option value="410">Batelov</option>
                          <option value="155">Batňovice</option>
                            <option value="233">Bečov nad
                              Teplou</option>
                          <option value="1">Bedřichov</option>
                          <option
                  value="349">Bechyně</option>
    

    získat asi nejlépe pomocí nějakého rogulárního výrazu ty hodnoty value="xxx" a pak textové hodnoty jako např.: Abertamy, a udělal z nich řetězce jako

    INSERT INTO #__tabulka SET id=152, name=Abertamy;

    Za odpovědi předem děkuji.

    Odpovědi

    26.9.2007 18:38 neaktivni | skóre: 24 | blog: neaktivni
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    vzhledem ke sve lenosti bych to udelal asi pomoci PHP (i to vkladani do db) pres SimpleXML
    26.9.2007 18:44 pupu | skóre: 31
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud je to co radek, to jeden zaznam, je to trivialni. Pokud ne, tak to uz tak trivialni neni.

    trivialni reseni muze byt treba takhle: perl -ne '/<option value=\"(\d+)\">([^<]+)<\/option>/ && print "$2 $1\n"'

    Vyhovuje?

    poznamka pro administratory: je opravdu tak zasadni problem pridat do zahlavi zatrhavatko 'prosty text'? prepisovat html znovu do html je drobet opruz
    26.9.2007 18:53 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Je to co řádek to záznam, ale problém je, že někdy je text option na jednom řádku a pokračování na druhém
    26.9.2007 19:31 pupu | skóre: 31
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Hmm. Vzhledem k tomu, ze jsem zname prase jdouci cestou nejmensiho odporu a na estetiku nehledici, udelal bych to klidne takhle (pokud bych tedy fakt hodne spechal):

    perl -e 'while (<>) {chomp;$radek=$radek." ".$_;}; $radek=~s/option>/option>\n/g; print $radek' <vstup |perl -ne '/<option\s+value=\"(\d+)\">([^<]+)<\/option>/ && print "$2 $1\n"' >vystup

    Akorat to produkuje mezery v mistech, kde je zalomeny radek, protoze tam ty mezery skutecne jsou. Asi bych doporucil spis nejake uz hotove udelatko pro praci s XML, tohle uz je vazne pakarna.
    26.9.2007 19:56 pupu | skóre: 31
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    No, neda mi to ;-) Pokud by se nelibily mezery, jeste muzete pridat jedno s/\ \ +/\ /g; - pokud jsou v tom souboru tedy opravdu jen mezery a ne treba tabulatory.
    26.9.2007 19:02 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud nechcete podnkita dobrodružství ohledně toho, jak se tagy zrovna zalomí, nepoužívejte regulární výrazy, ale udělejte z toho normální XML (tj. zabalte to celé např do <data>…</data>) a použijte XPath. Takže třeba libovolný xslt procesor a použijte následující transformaci:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="text"/>
    	<xsl:template match="option">
    INSERT INTO #__tabulka SET id=<xsl:value-of select="@value"/>, name='<xsl:value-of select="."/>';
    	</xsl:template>
    </xsl:stylesheet>
    
    Pokud přidáte k datovému souboru instrukci pro zpracování, zobrazí vám výsledek i každý lepší webový prohlížeč.
    <?xml version="1.0 ?>
    <?xml-stylesheet type="text/xml" href="template.xsl" ?>
    <data>
    	<option value="152">Abertamy</option>
    	…
    </data>
    
    26.9.2007 19:33 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    A jde nějak pomocí toho zajistit, aby se odstranily zalomená řádků? Když je v tom souboru např.:
    Benešov nad 
                              Černou
    
    tak aby se z toho stalo
    Benešov nad Černou
    26.9.2007 19:56 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Zkuste místo <xsl:value-of select="."/> použít
    <xsl:value-of select="normalize-space(.)"/>
    
    případně
    <xsl:value-of select="normalize-space(translate(.,'&#10;&#13;','  '))"/>
    
    26.9.2007 20:11 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Super, díky, funguje;-);-)
    26.9.2007 19:48 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Regulární výraz-získání hodnot
    Pokud toužíte po reg. výrazech, tak velmi zhruba nástin v Javě:
    Pattern p = Pattern.compile("<option value=\"([1-9][0-9]*)\">(.*?)</option>", Pattern.DOTALL);
    Matcher m = p.matcher(...data...);
    while(m.find()) System.println("INSERT INTO #__tablulka SET id=" + m.group(1) + ", name=" + m.group(2));
    ale osobně bych šel do té transformace :)

    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.