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

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

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

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 3
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 3
    29.5. 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

    Ladislav Hagara | Komentářů: 0
    29.5. 15:44 | Nová verze

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 43
    28.5. 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 14
    28.5. 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1013 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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.