Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 27 di 45
  • livello principiante
Indice lezioni

Le espressioni regolari e la classe String

Eseguire espressioni regolari sulle stringhe di testo con i metodi della classe string
Eseguire espressioni regolari sulle stringhe di testo con i metodi della classe string
Link copiato negli appunti

Nel capitolo 12 dedicato alle stringhe abbiamo già incontrato delle espressioni regolari che ora possiamo comprendere meglio, rivediamole. Per accedere a delle sottostringhe si può scrivere

> str = "Ciao mondo"
=> "Ciao mondo"
> str[/w+s/]
=> "Ciao "

Sinonimo di [] è il metodo slice e il metodo slice!:

> str.slice(/w+s/)
=> "Ciao "

Allo stesso modo si utilizzano con index che restituisce l'indice della prima occorrenza della sottostringa espressa dal pattern:

> str.index(/[aeiou]/)
=> 1

analogo il comportamento di rindex che, a differenza di index, restituisce l'ultima occorrenza della sottostringa che verifica il pattern:

> str.rindex(/[aeiou]/)
=> 9

Possiamo usare le espressioni regolari anche come argomento dei metodi sub e gsub:

> str.gsub(/([aeiou])/, '(1)' )
=> "C(i)(a)(o) m(o)nd(o)"
> str.gsub(/s(w+)/){|c| c.upcase}
=> "Ciao MONDO"

Anche split può essere utilizzato passando come argomento un'espressione regolare:

> str.split(/s/)
=> ["Ciao", "mondo"]

Interessante è infine l'utilizzo delle regexp con scan che itera attraverso la stringa e inserisce tutti i risultati che verificano il pattern all'interno di un array:

> str.scan(/w+/)
=> ["Ciao", "mondo"]

Da questi esempi è lampante la notevole versatilità che le espressioni regolari aggiungono ai metodi della classe String.


Ti consigliamo anche