Menu
Coddy logo textTech

string.gsub() para sustitución

Parte de la sección Logic & Flow del Journey de Lua de Coddy — lección 35 de 54.

Al trabajar con cadenas, a menudo necesitas buscar y reemplazar texto. La función string.gsub() de Lua facilita esto al realizar una sustitución global: busca todas las ocurrencias de un patrón y las reemplaza con otra cosa.

La sintaxis básica toma tres argumentos: la cadena original, el patrón a buscar y el texto de reemplazo:

local result = string.gsub(originalString, pattern, replacement)

Aquí tienes un ejemplo sencillo que reemplaza todos los espacios con guiones bajos:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Salida: hello_world_from_lua

La función devuelve dos valores: la cadena modificada y el número de reemplazos realizados. Puedes capturar ambos si es necesario:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Salida: baz bar baz
print(count)   -- Salida: 2

A diferencia de algunas funciones de cadena que solo encuentran la primera coincidencia, string.gsub() reemplaza cada ocurrencia por defecto, lo que la hace perfecta para tareas de limpieza de texto como eliminar caracteres no deseados o estandarizar el formato.

challenge icon

Desafío

Fácil

Escribe una función cleanText que recibe text y devuelve una versión limpia con todos los espacios reemplazados por guiones bajos.

Usa string.gsub() para reemplazar cada carácter de espacio en el texto con un carácter de guion bajo.

Parámetros:

  • text (string): El texto a limpiar

Devuelve: El texto con todos los espacios reemplazados por guiones bajos (string)

Hoja de referencia

La función string.gsub() realiza una sustitución global al encontrar todas las ocurrencias de un patrón y reemplazarlas:

local result = string.gsub(originalString, pattern, replacement)

Ejemplo reemplazando espacios con guiones bajos:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Resultado: hello_world_from_lua

La función devuelve dos valores: la cadena modificada y el número de reemplazos realizados:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Resultado: baz bar baz
print(count)   -- Resultado: 2

string.gsub() reemplaza cada ocurrencia por defecto, no solo la primera coincidencia.

Pruébalo tú mismo

function cleanText(text)
    -- Escribe el código aquí
end
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Logic & Flow