Portál AbcLinuxu, 10. května 2025 00:12

Dotaz: PERL - rozdelení textu na slova

10.10.2007 00:31 motorcb | skóre: 12
PERL - rozdelení textu na slova
Přečteno: 352×
Odpovědět | Admin
Zdravim. Potreboval bych v Perlu z textaku udelat statistiku/cetnost slov.Ale nevim jakou funkci mam pouzit pro rozsekani textu na jednotliva slova,nebo kde bych se o tom dozvedel vice. Poradi nekdo? Diky za jakekoliv nakopnuti/odkaz.Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.10.2007 01:14 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: PERL - rozdelení textu na slova
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych 'split'. man perlfunc
Překladač ti nikdy neřekne: "budeme kamarádi"
10.10.2007 04:57 kafa | skóre: 10
Rozbalit Rozbalit vše Re: PERL - rozdelení textu na slova
Odpovědět | | Sbalit | Link | Blokovat | Admin

@pole=split(/\s+/,$radek);

Některá slova ovšem budou končit čárkou, tečkou, otazníkem a pod., takže pole ještě musíte projít a tyto konce odstranit.

Pokud chcete použít Perl častěji, doporučuji investovat do skvělého manuálu "Myslíme v jazyku PERL" od Františka Dařeny, která je k mání ve výprodeji už za 199 Kč. Přitom mu slavná "velbloudí kniha" nesahá ani po kolena.

10.10.2007 06:02 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: PERL - rozdelení textu na slova
\W ... nonword character

S tou poslednou vetou ste to riadne prehnal :-)

10.10.2007 07:53 pht
Rozbalit Rozbalit vše Re: PERL - rozdelení textu na slova

Nez se patlat s whitespace tak bych rovnou sekal na slova/neslova a z vysledku vybiral jen ty slova. Takze tu pocitacku bych videl asi takto

while(<>) {
        /^\w+$/ and $counts{$_}++ for split /\b/;
}

print "$word: $count\n" while ($word, $count) = each %counts;

Jedina nevyhoda je, ze to bere i znaky _, takze bud se s tim spokojite, nebo je nejprv vysekejte (napr. zamenou za mezery).

S tou knihou je to vtipne, sice jsem tu zminovanou necetl, ale ty s velbloudem i lamami ano a rozhodne bych se o nich nevyjadroval nejak spatne.

10.10.2007 15:49 kafa | skóre: 10
Rozbalit Rozbalit vše Re: PERL - rozdelení textu na slova

Kniha Larryho Walla a spol. Programování v jazyce Perl, kterou jsem měl na mysli, je nejhorší manuál programovacího jazyka, jaký jsem kdy četl. Obsahuje sice spoustu detailních informací ale co je to platné, když je nenajdete. Rejstřík slabý, obsah prakticky chybí, informace k jednomu tématu rozeseté na padesáti stranách, takže se vám je nikdy nepodaří najít a to nemluvím o Larryho pseudofilosofických sentencích, které mě vždycky doháněly k zuřivosti. Snad jen funce jsou popsané dobře a jsou jediným důvodem, proč tu knihu ještě mám. Manuál jazyka není kniha na jedno čtení. Vracíte se k ní mnohokrát a informace musí být uspořádané a rychle k nalezení. V Dařenově knize jsou například regulární příkazy uspořádány do třiceti čtyř kapitol a podkapitol, takže to, co ve velbloudí knize hledám hodiny, najdu během několika vteřin.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.