Excluindo caracteres que correspondem a um padrão

Lua:
Excluindo caracteres que correspondem a um padrão

Como fazer:

local texto = "O rato roeu a roupa do rei de Roma 123."
local padrao = "%d" -- isso significa qualquer dígito decimal

-- Substituir dígitos por uma string vazia para deletá-los
local resultado = texto:gsub(padrao, "")
print(resultado) -- Saída: O rato roeu a roupa do rei de Roma .

-- Outro exemplo: Remover espaços
padrao = "%s" -- isso representa espaços em branco
resultado = texto:gsub(padrao, "")
print(resultado) -- Saída: OratoroeuaroupadoreideRoma123.

Aprofundando

O poder das expressões regulares e padrões em Lua começou a se tornar indispensável na era do processamento de texto avançado. A função string.gsub não usa expressões regulares completas como em outras linguagens, mas os padrões de Lua, que são suficientes para muitas tarefas de manipulação de strings. Alternativas, como as funções string.find e string.match, podem ser usadas para detectar padrões sem substituí-los, enquanto bibliotecas externas podem oferecer expressões regulares plenas se necessário.

Os detalhes de implementação da função gsub envolvem o uso de padrões, que incluem conjunto de caracteres, representantes, e modificadores. Por exemplo, %d representa qualquer numeral, enquanto %s representa qualquer espaço em branco. Para entender melhor esses padrões, é essencial ler a documentação oficial e praticar.

Veja Também