Menu
Coddy logo textTech

string.gsub() para Substituição

Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 35 de 54.

Ao trabalhar com strings, você frequentemente precisa encontrar e substituir texto. A função string.gsub() do Lua torna isso fácil ao realizar substituição global—encontrando todas as ocorrências de um padrão e substituindo-as por outra coisa.

A sintaxe básica recebe três argumentos: a string original, o padrão a ser encontrado e o texto de substituição:

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

Aqui está um exemplo simples que substitui todos os espaços por sublinhados:

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

A função retorna dois valores: a string modificada e o número de substituições feitas. Você pode capturar ambos se necessário:

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

Ao contrário de algumas funções de string que encontram apenas a primeira correspondência, string.gsub() substitui todas as ocorrências por padrão, tornando-a perfeita para tarefas de limpeza de texto, como remover caracteres indesejados ou padronizar a formatação.

challenge icon

Desafio

Fácil

Escreva uma função cleanText que recebe text e retorna uma versão limpa com todos os espaços substituídos por sublinhados.

Use string.gsub() para substituir cada caractere de espaço no texto por um caractere de sublinhado.

Parâmetros:

  • text (string): O texto para limpar

Retorno: O texto com todos os espaços substituídos por sublinhados (string)

Folha de consulta

A função string.gsub() realiza a substituição global ao encontrar todas as ocorrências de um padrão e substituí-las:

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

Exemplo substituindo espaços por sublinhados:

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

A função retorna dois valores: a string modificada e o número de substituições realizadas:

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

O string.gsub() substitui todas as ocorrências por padrão, não apenas a primeira correspondência.

Experimente você mesmo

function cleanText(text)
    -- Escreva o código aqui
end
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow