abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 9
    včera 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    4.6. 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    4.6. 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 2
    4.6. 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: perl - slovo rozděleno mezerami

    25.2.2008 21:19 motorcb | skóre: 12
    perl - slovo rozděleno mezerami
    Přečteno: 331×
    Zdravim. Zpracovavam text,ktery je obcas psany zpusobem, ze mezi kazde pismeno ve slove se dava mezera.

    $promena="Vitejne na mem webu. Jmenuji se F R A N T A a timto Vas zdravim pres internet!";

    Jde mi o to aby se vsechny slova,ktera jsou delsi nez 5 pismen i s mezerami( A N D -3pismena,2mezery) predelali na slovo bez mezer :)

    $promena="Vitejne na mem webu. Jmenuji se FRANTA a timto Vas zdravim pres internet!";

    Nevedel by nekdo jak na to? Uz to zkousim tyden a zadny vysledek. Dik za jakykoliv nakopnuti :)

    Odpovědi

    25.2.2008 22:49 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    a) nájdený výraz bude "f r a n t a a"
    b) s/(\w(?:\s+\w)+)/join '', split ' ', $1/ge
    25.2.2008 23:06 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    a v kotli sem nasel kocku => avkotlisemnaselkocku
    25.2.2008 23:10 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    ad b) s/(?:^|\s)(\w\s){5,}/' ' . (join "", (split " ",$&)) . " "/eg
    In the garden sleeps a messenger ·
    25.2.2008 23:26 Dunric | skóre: 21
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    s/(?:^|\s)(\w\s){4,}(?:\w|$)(?/' ' . (join '', (split ' ',$&)) . ' '/eg
    In the garden sleeps a messenger ·
    25.2.2008 23:01 Petr Holík
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    $promena ~= s/(\w) (\w) (\w)/$1$2$3/g #odstrani mezery ze vsech slov co maji 3 pismena

    $promena ~= s/(\w) (\w) (\w) (\w)/$1$2$3$4/g #odstrani mezery ze vsech slov co maji 4 pismena

    analogicky dale. Slo by to napsat i jednim vyrazem, ale vyzadovalo by to by pokrocilou znalost PCRE a trosku ladeni, takze Vam doporuciji spise dopsat vyrazy v podobnem duchu pro slova do maximalniho poctu pismen. Pokud se tedy nejedna o nejake dlouhodobejsi reseni :) pak se samozrejme vyplani si precist o regulernich vyrazech a dat si tu praci to odladit.
    26.2.2008 07:21 pht
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami

    No, ve skutecnosti to neni tak tezke s temu "pokrocilymi znalostmi". Neni ani potreba provadet cachry se splitem, pokud si problem rozdelite na dve casti:

    1. Najit vhodny match toho prostrkaneho slova. Uz tu neco padlo, trochu jsem to otunil: /([A-Z](?: [A-Z]){2,})(?= |$)/. Vysvetleni:

      Prvni vnejsi zavorka je ten nas match (to prostrkane slovo). Zacina na velke pismeno a za tim pokracuje mezera a opet velke pismeno a to cele aspon dvakrat, aby byla splnena podminka peti znaku. Symboly ?: na zacatku zavorky zajistuji, aby se zavorka neulozila jako $2 atd. Posledni zavorka je positive lookahead assertion, tzn. prvni zavorka se matchuje pouze pokud za ni nasleduje to co je v te druhe, cili dalsi mezera nebo konec retezce (abychom nenasli neco jako A S D Fghj). Nicmene tim ze to je jen assertion tak to tu pripadnou mezeru neukousne, jak by to udelala normalni zavorka ( |$).

    2. Odstranit z toho mezery (zvladne kazdy: s/ //g)

    Pak uz staci jen tyto dva kroky vhodne zkombinovat.

    perl -pe 's/([A-Z](?: [A-Z]){2,})(?= |$)/do {$_ = $1; s, ,,g; $_;}/eg'
    26.2.2008 09:09 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    aj vám (ako všetkým, aj mne) chýba kontrola nonword pred prvým ((?<!\w)
    positive look after ((?= |$)) by som nahradil negative ((?!\w)) ... negative považuje za zhodu aj to, ak reťazec nepokračuje ($, resp ^)

    s/((?<!\w)\w(?:\s\w){5,}(?!\w))/../ge

    26.2.2008 15:22 pht
    Rozbalit Rozbalit vše Re: perl - slovo rozděleno mezerami
    jo, taky moznost. jen bych dodal k tomu cislu 5 ze puvodne chtel autor pet znaku vcetne mezer, coz prave dava tu moji dvojku.

    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.