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?

¿Fue útil?

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
scroll top