|
| Word Count Fra : palle |
Dato : 07-12-07 10:54 |
|
Hej Gruppe
Jeg mangler en word count, jeg har prøvet
$_ = $tekst;
$count = tr/A-z//c;
Skulle jeg jo få talt alle space, men danske og tyske spec.tegn bliver også
talt for en space
jeg har prøvet med $count = tr/A-Ñ//c;
som skulle dække alle char indtil chr(165) men det virker ikke
Hilsen
Palle
| |
Flemming Frandsen (07-12-2007)
| Kommentar Fra : Flemming Frandsen |
Dato : 07-12-07 11:02 |
|
palle wrote:
> Jeg mangler en word count, jeg har prøvet
> $_ = $tekst;
> $count = tr/A-z//c;
Idder-adder!
Hvis teksten ikke er meget stor så prøv:
my @words = split /\W+/, $text;
my $count = @words;
| |
palle (07-12-2007)
| Kommentar Fra : palle |
Dato : 07-12-07 11:30 |
|
Flemming Frandsen skrev i en meddelelse
> Idder-adder!
>
> Hvis teksten ikke er meget stor så prøv:
> my @words = split /\W+/, $text;
> my $count = @words;
>
Jeg takker denne løsning.... det er jo ikke nemt når jeg
aldrig er nået længere end til "kravlegårds stadiet" og alle andre
"snakker" PHP
Hilsen
Palle
| |
Adam Sjøgren (08-12-2007)
| Kommentar Fra : Adam Sjøgren |
Dato : 08-12-07 13:38 |
|
On Fri, 7 Dec 2007 10:53:50 +0100, palle wrote:
> Jeg mangler en word count, jeg har prøvet
> $_ = $tekst;
> $count = tr/A-z//c;
> Skulle jeg jo få talt alle space, men danske og tyske spec.tegn bliver også
> talt for en space
Hvis du gerne vil tælle klumper af mellemrum ("whitespace"), kan du
f.eks. matche på \s+ i stedet.
Hvis du vil tælle ord, kan du måske tælle antal klumper af
ikke-mellemrum, \S+:
#!/usr/bin/perl
use strict;
use warnings;
my $tekst='Frække frølår er en god sætning at lege med.';
my $antal=0;
$antal++ while ($tekst=~/\s+/g);
print "$antal mellemrum\n";
$antal=0;
$antal++ while ($tekst=~/\S+/g);
print "$antal ord\n";
Det efterlades som en øvelse til læseren at overveje om f.eks. "haf,jaf"
skal tælle som et eller to ord og tilrette eksemplet tilsvarende.
Mvh.
--
"At its current rate of mutation, God knows what Perl Adam Sjøgren
might evolve into in a hundred years." asjo@koldfront.dk
| |
|
|