Ruby

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

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

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

3 días hace

Esta web usa cookies.