string.gsub() para Substituição
Parte da seção Lógica e Fluxo do Journey de Lua da Coddy. Lição 35 de 54.
Ao trabalhar com strings, muitas vezes você precisa localizar e substituir texto. A função string.gsub() do Lua facilita isso ao realizar uma substituição global: encontrar todas as ocorrências de um padrão e substituí-las 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_luaA função retorna dois valores: a string modificada e o número de substituições realizadas. 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: 2Ao 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.
Desafio
FácilEscreva uma função cleanText que receba text e retorne 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 a ser limpo
Retorno: O texto com todos os espaços substituídos por sublinhados (string)
Experimente você mesmo
function cleanText(text)
-- Escreva o código aqui
end
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Iteração avançada de tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de personagem4Introdução às Metatabelas
O que é uma Metatabela?setmetatable e getmetatableO Metamétodo __indexO Metamétodo __newindexO Metamétodo __tostringMetamétodos Aritméticos — Parte 1Metamétodos Aritméticos — Parte 2Recapitulação — Tabela Somente para Leitura7Manipulação Avançada de Strings
string.gsub() para SubstituiçãoIntrodução aos Padrões de Stringsstring.find()string.match()Iterando com string.gmatch()Recapitulação - Analisador de Arquivos de Log2Mais funções da biblioteca table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRevisão - Placar de pontuações máximasPratique por conta própria: Compilador de Lua online