-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[29] Come conto il numero di occorrenze di una sottostringa all'interno di una stringa?

Ci sono varie strade, con un diverso grado di efficienza. Se ciò che desiderate è il conto delle occorrenze di un determinato carattere singolo (X) all'interno di una stringa, potete utilizzare la funzione "tr///" in questo modo:

    $stringa = "QuestaXlineaXhaXalcuneXxXalXsuoXinterno";
    $conto = ($stringa =~ tr/X//);
    print "Ci sono $conto caratteri X nella stringa";

Questo funziona benissimo quando state cercando un singolo cattere. Se state cercando di contare le occorrenze di una sottostringa composta da più caratteri all'interno di una stringa, "tr///" non funziona. Quello che potete fare è inserire la ricerca globale di un pattern [schema, NdT] all'interno di un while(). Per esempio, contiamo gli interi negativi:

    $stringa = "-9 55 48 -2 23 -76 4 14 -44";
    while ($stringa =~ /-\d+/g) { $conto++ }
    print "Ci sono $conto interi negativi nella stringa";

Un'altra versione usa una ricerca globale in contesto di lista, assegnandone poi il risultato ad uno scalare, generando un conto del numero di sottostringhe trovate.

    $conto = () = $stringa =~ /-\d+/g;

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google