Remover parte de una cadena o remplazar por otra usando Ruby, gsub y sub

Remover y remplazar partes de una cadena en Ruby

El lenguaje de programación Ruby tiene un método en las cadenas para quitar o eliminar algunos caracteres de las mismas.

Remover parte de una cadena o remplazar por otra usando Ruby, gsub y sub
Remover parte de una cadena o remplazar por otra usando Ruby, gsub y sub

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.

Funciones que usaremos

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á.

Remplazar una cadena por otra

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" 

Remover una subcadena

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”.

Sobre gsub y los reemplazos globales

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.

Ejemplo con código

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í.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *