Ta bort tecken som matchar ett mönster

Lua:
Ta bort tecken som matchar ett mönster

Hur man gör:

local text = "Hej! Hur mår du idag, kära programmerare?"
local pattern = "[%p%c%s]"

local cleaned_text = text:gsub(pattern, "")
print(cleaned_text)  -- Output: HejHurmrduidagkraprogrammerare

I exemplet ovan har vi använt gsub för att radera alla skiljetecken, kontrolltecken och mellanslag från textsträngen.

local data = "Användare: Emil_92% (Online)"
local pattern_to_remove = "%W"

local username = data:match("Användare: (%w+)")
local sanitized_data = data:gsub(pattern_to_remove, "")
print(username)        -- Output: Emil_92
print(sanitized_data)  -- Output: AnvändareEmil92Online

Här använder vi %W (icke-ord-tecken-mönster) för att städa upp en sträng och %w+ för att hitta användarnamnet.

Djupdykning:

I tidiga datorprogrammeringsspråk var textmanipulation både klumpigt och långsamt. Lua förändrade det med dess inbyggda mönsterverktyg. string.gsub är en kraftfull funktion som inte bara raderar tecken, den kan även ersätta och modifiera text baserat på mönster.

Alternativ till mönsterborttagning kan vara manual loopar där man går igenom varje tecken och bygger upp en ny sträng, eller med hjälp av externa bibliotek som rex.

Implementationsdetaljer är viktiga: gsub använder Lua-mönster, som liknar men är inte identiska med reguljära uttryck. En bra förståelse för dessa mönster är nyckeln till effektiv och exakt textmanipulation.

Se Även: