Ricerca e sostituzione del testo

Ruby:
Ricerca e sostituzione del testo

How to:

La ricerca e sostituzione in Ruby può essere semplice grazie all’uso di gsub e sub.

Ecco un esempio:

testo_originale = "Buongiorno, mondo! Programmiamo con Ruby."

# Sostituire 'mondo' con 'universo'
testo_modificato = testo_originale.gsub('mondo', 'universo')
puts testo_modificato
# Output: Buongiorno, universo! Programmiamo con Ruby.

# Sostituire solo la prima occorrenza di 'o' con '0'
testo_limite = testo_originale.sub('o', '0')
puts testo_limite
# Output: Bu0ngiorno, mondo! Programmiamo con Ruby.

Deep Dive

La funzione gsub, che viene da “global substitution”, è stata nel toolbox di Ruby dal suo inizio. È globale nel senso che cambia tutte le occorrenze trovate. sub è più limitata; cambia solo la prima occorrenza.

Inoltre, gsub e sub possono utilizzare espressioni regolari, per sostituzioni più potenti e flessibili:

testo = "Ruby 2.6 Ruby 2.7 Ruby 3.0"
testo.gsub(/\d\.\d/) { |match| '3.1' }
# Output: Ruby 3.1 Ruby 3.1 Ruby 3.1

Per sostituzioni semplici, usiamo stringhe. Per complessità, meglio le regex.

See Also