Búsqueda y reemplazo
gsub, sub, match
Búsqueda y reemplazo es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.
Buscar una subcadena
El método index devuelve la posición de la primera coincidencia o nil si no la encuentra. include? devuelve verdadero o falso.
text = "hello world"
puts text.index("world")
puts text.include?("world")Reemplazar la primera coincidencia con sub
sub reemplaza solo la primera aparición de un patrón por un valor nuevo.
text = "cat cat cat"
puts text.sub("cat", "dog")Reemplazar todas las coincidencias con gsub
gsub significa sustitución global. Reemplaza todas las apariciones.
text = "cat cat cat"
puts text.gsub("cat", "dog")Usar expresiones regulares
Los patrones entre barras, como /.../, son expresiones regulares. /\d/ coincide con un dígito. gsub y sub aceptan patrones de expresiones regulares.
text = "a1b2c3"
puts text.gsub(/\d/, "*")Comprobar coincidencias con match?
match? devuelve verdadero si una expresión regular coincide en cualquier parte de la cadena. Es una opción rápida y clara para hacer comprobaciones.
email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)Capturar con match
match devuelve un objeto MatchData. El índice [0] corresponde a la coincidencia completa; los paréntesis crean grupos de captura a los que se accede mediante [1], [2], etc.
data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]Buscar todas las coincidencias con scan
scan devuelve una matriz con todas las coincidencias de la cadena. Es perfecto para extraer todos los números o las palabras.
text = "phone 555 and 777"
puts text.scan(/\d+/).inspectAnclas
Las anclas fijan una coincidencia a una posición. ^ indica el inicio de la línea y $, el final. \A y \z fijan la coincidencia a los extremos de toda la cadena.
puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)Clases de caracteres
Los corchetes definen un conjunto de caracteres permitidos. [aeiou] coincide con cualquier vocal. [a-z] coincide con cualquier letra minúscula.
text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")Bloques en gsub
Pase un bloque a gsub para transformar cada coincidencia de forma dinámica. El texto coincidente es el argumento del bloque.
text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts resultBúsqueda sin distinguir mayúsculas y minúsculas
La bandera i después de una expresión regular hace que se ignoren las mayúsculas y minúsculas.
text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")Comprobación rápida
Compruebe sus conocimientos sobre búsqueda y reemplazo.
Resumen
Ahora puede buscar y reemplazar texto:
index,include?,match?para buscarsub(la primera) ygsub(todas) para reemplazar- patrones de expresiones regulares, anclas y clases de caracteres
scanpara extraer todas las coincidencias y bloques para realizar reemplazos dinámicos
Siguiente: dividir y unir cadenas.
puts "a,b,c".gsub(",", " | ")Preguntas frecuentes
¿La lección «Búsqueda y reemplazo» es gratis?
Sí — el texto completo de «Búsqueda y reemplazo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Búsqueda y reemplazo»?
gsub, sub, match Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ruby Academy?
No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Búsqueda y reemplazo»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?
Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos y métodos de String
- Interpolación y formateo
- Búsqueda y reemplazo
- Separación y unión