Merkkien poistaminen hakemalla osumia kaavaan

Lua:
Merkkien poistaminen hakemalla osumia kaavaan

How to:

Miten:

local str = "Käyttäjä123Syöte!"
local pattern = "%D"
-- Poistetaan kaikki ei-numeeriset merkit
local cleanStr = str:gsub(pattern, "")
print(cleanStr)  -- Tulostaa: 123
local finnish_text = "Hänellä on 2 kissaa ja 3 koiraa."
local pattern = "%d"
-- Poistetaan kaikki numerot
finnish_text = finnish_text:gsub(pattern, "")
print(finnish_text)  -- Tulostaa: Hänellä on  kissaa ja  koiraa.

Deep Dive

Syväsukellus: Lua:n patterit ovat regexin (säännölliset lausekkeet) kaltainen konsepti, mutta yksinkertaisempi. Ei ole aina ollut näin. Aikaisemmissa Lua-versioissa oli rajoitetumpi sana- ja merkkikäsittely, mutta versiosta 5.1 lähtien string-kirjasto on tarjonnut paremmat työkalut kuvioon perustuvalle tekstinkäsittelylle.

Vaihtoehtoisesti, kehittäjät voivat käyttää string.find- tai string.match-funktioita etsimiseen, mutta string.gsub on tehokas työkalu suoraan monen merkin poistoon.

Suorituskyvyn kannalta, vaikka Lua ei tarjoa regexin täyttä tehoa, sen kuvioratkaisut ovat optimoituja eivätkä yleensä muodosta suorituskyvyn pullonkaulaa.

See Also

Lisätietoja: