PDA

Visualizza la versione completa : contare i numeri in una frase


uMoR
04-05-2006, 13:39
Se io ho una frase tipo:

"W il forum di html.it 02193 eheh!!"

Come faccio a contare quante singole cifre numeriche appaiono ? (in questo caso 5)

Mich_
04-05-2006, 15:16
my $str = "W il forum di html.it 02193 eheh!!";
$str =~ /(\d)/g;
print $#-;

provalo, perche` ho qualche dubbio.

uMoR
04-05-2006, 21:37
In effetti non funziona :o

Mich_
05-05-2006, 10:29
Allora anch'io dovrei inserire il "debug mode" (che pero` mi faccio io con vari trucchi).

Facendo
$str =~ /(\d)/g;
il vettore @- dovrebbe contenere gli indici di tutti i caratteri numerici della stringa.

Prova quindi a farti visualizzare tale vettore.

PS: non conosco il tuo contesto, per cui non so se il print ha qualche effetto. Nei CGI un print come quello da me proposto non ha senso, di solito.

shishii
06-05-2006, 21:55
se i numeri sono posizionati in modo consecuti come hai fatto vedere tu va bene:

my $str = "W il forum di html.it 02193 eheh!!";
$str =~ /(\d+)/;
print length($1);

uMoR
06-05-2006, 22:18
Ho anche frasi in cui i numeri sono staccati..

shishii
06-05-2006, 22:36
my $str = "W il forum di html.it 02193 eheh!!";
$str =~ s/\D//g;
print length($str);

Mich_
08-05-2006, 09:43
Complimenti!!
Uno si scervella per trovare la RE corretta, studia i manuali, ... e poi arriva LUI che con un trucchetto banalissimo ti butta li` la soluzione.
Veramente geniale.

shishii
08-05-2006, 17:26
Grazie :)

ma non dimentichiamo che il Perl il mio linguaggio, con il quale ho acquisito una certa esperienza... ed un linguaggio molto versato nei "trucchetti" ;)

Loading