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 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 2
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 10
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 3
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední včera 07:41
    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: 346×
    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.