Ruby:
Pesquisando e substituindo texto
How to:
texto = "Eu amo programar em Ruby!"
novo_texto = texto.gsub("amo", "adoro")
puts novo_texto
# => Eu adoro programar em Ruby!
# Procurando com regex
resultado = texto.scan(/a[\w]o/)
puts resultado
# => ["amo"]
# Substituindo com regex
texto_fix = texto.gsub(/a[\w]o\b/, 'odeio')
puts texto_fix
# => Eu odeio programar em Ruby!
Deep Dive
Procurar e substituir em Ruby não é novidade. Desde os primórdios, Ruby teve métodos como gsub
e sub
para substituir texto, e scan
para procurar. Regex, ou expressões regulares, são ferramentas poderosíssimas nesse processo, permitindo padrões complexos e substituições condicionais.
Alternativas envolvem bibliotecas externas ou linguagens de script, como sed em UNIX, mas Ruby já vem com tudo o que é necessário. Na implementação, gsub
cria uma nova string, eficiência que pode ser crítica em textos longos. sub
tem performance similar, mas altera só a primeira ocorrência.
See Also
- Ruby’s
String
documentation: ruby-doc.org/core-2.7.0/String.html - Tutorial sobre expressões regulares em Ruby: rubular.com