Lua:
Merkkijonojen osien poimiminen
How to: / Kuinka tehdä:
local teksti = "tervetuloa_programmointiin!"
-- Alkuindeksi ja loppuindeksi
local substring = teksti:sub(1, 11)
print(substring) -- tulos: "tervetuloa_"
-- Negaatiiviset indeksit (lopusta alkaen)
local loppuosa = teksti:sub(-14)
print(loppuosa) -- tulos: "programmointiin!"
-- Pattern-matching leikkaus
local kayttajanimi = string.match("[email protected]", "([^@]+)")
print(kayttajanimi) -- tulos: "esimerkki"
Deep Dive / Syväsukellus:
Lua-kielen string-handling-nojaa voimakkaasti yhteenrakennettuihin funktioihin, kuten sub
ja match
. Historiallisesti Lua kasvoi embeddattujen systeemien tarpeista: pieni footprintti, mutta tehokkaat string-työkalut ovat aina olleet korostettuja.
Pattern-matching perustuu säännöllisiin lausekkeisiin (regex), mutta on rajoitettumpi. match
funktio sallii monimutkaisten patternien tunnistamista stringeistä ilman että tarvitsee vetää sisään kokonaisia regex-kirjastoja.
Substring-funktioita käytettäessä indeksit alkavat ykkösestä, ei nollasta, kuten monissa muissa kielissä. Negatiiviset indeksit laskevat lopusta alkaen, mistä on usein hyötyä.
See Also / Katso Myös:
- Programming in Lua (Fourth Edition) – Luotettava kirja perusteista syvällisiin tekniikoihin.
- Lua 5.4 Reference Manual – Virallinen dokumentaatio ja käyttöopas.