El lenguaje de programación Ruby tiene un método en las cadenas para quitar o eliminar algunos caracteres de las mismas.
Hoy veremos cómo remplazar algunos caracteres así como cadenas o subcadenas de otra cadena. Aparte de remplazar también se pueden eliminar algunas letras o cualquier tipo de carácter.
Otra aplicación que tiene esto es remover los espacios en blanco.
Para remplazar o sustituir vamos a usar el método sub
. También veremos a gsub
para hacerlo de forma global.
En la parte final dejaré un ejemplo de todo lo que se verá.
Para esto usamos sub
. El uso es:
"Cadena".sub "Busqueda", "Remplazo"
Recordemos que una cadena puede estar igualmente dentro de una variable. Veamos un ejemplo, si queremos remplazar “Hola” por “Adiós” sería así:
"Hola mundo".sub "Hola", "Adiós"
Lo mismo que hicimos con sub
, pero ahora remplazamos con una cadena vacía:
"Cadena".sub "Búsqueda", ""
Así se podría remplazar a la búsqueda por nada. Por ejemplo:
"Hola".sub "H", ""
Resultaría en la cadena “ola”.
El método sub
remueve o remplaza pero únicamente la primera ocurrencia. Si queremos que lo haga con todas las ocurrencias y no se detenga si encuentra una, podemos usar gsub
que quiere decir algo como global sub, o global substitution, algo así.
La sintaxis sería:
"Cadena".gsub "Búsqueda", "Remplazo"
Lo mismo para remover cadenas.
Aquí está este código que ejemplifica todo lo mencionado anteriormente.
=begin
Trabajando con cadenas en Ruby: remover y remplazar subcadenas
usando sub y gsub
@author parzibyte
=end
cadena = "Me gusta programar en Ruby, porque Ruby es un bonito lenguaje para programar"
# Remplaza la primer ocurrencia por nada ""
sin_ruby = cadena.sub "Ruby", ""
puts sin_ruby
# Salida: Me gusta programar en , porque Ruby es un bonito lenguaje para programar
# En caso de que se desee remplazar todas las ocurrencias se usa gsub
sin_ruby = cadena.gsub "Ruby", ""
puts sin_ruby
# Salida: Me gusta programar en , porque es un bonito lenguaje para programar
# Ya vimos cómo remover, pero también podemos remplazar
cambiado = cadena.gsub "Ruby", "Go"
puts cambiado
# Salida: Me gusta programar en Go, porque Go es un bonito lenguaje para programar
# Los espacios también pueden ser removidos
sin_espacios = cadena.gsub " ", ""
puts sin_espacios
# Salida: MegustaprogramarenRuby,porqueRubyesunbonitolenguajeparaprogramar
# No lo recomiendo porque:
# Genera una excepción si la búsqueda no existe
# Remplaza únicamente la primer ocurrencia
# Pero se ve bonito
cadena["Ruby"] = "Python"
puts cadena
# Salida: Me gusta programar en Python, porque Ruby es un bonito lenguaje para programar
Puedes leer más sobre Ruby aquí.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.