Rubí Regex Gsub cuando no coincide
Pregunta
Quiero gsub todos los caracteres de una cadena que no son letras y reemplazar con '#'. Creo que necesito una expresión regular que dice algo como, "gsub () cuando esta expresión regular no coincide."
¿Alguna idea?
Solución
Look ma, sin expresiones regulares ...
str.tr( '^A-Za-z', '#' )
Otros consejos
str.gsub(/[^a-zA-Z]/, '#')
La ^ no coincide con medios
Claro, usted puede utilizar la negación clase de caracteres:
"aBc$%^".gsub(/[^A-Za-z]/, '#') => "aBc###"
Trate este en la Pantalla de Códigos:
puts "kjhdfuy37685682#$$%@dfjahf".gsub(/[^a-z]/i, '#')
Palabras hacer recuento
todos carácter s ... reemplazar con '#' str.gsub(/[^a-zA-Z]+/, '#')
cada carácter ... reemplazar con '#' str.gsub(/[^a-zA-Z]/, '#')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow