string.gsub muunnoksiin
Korvatkaa hahmoja merkkijonoilla, funktioilla tai taulukkohauilla gsub-funktion avulla.
string.gsub muunnoksiin on ilmainen Lua Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Lua Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Lua Academy-kurssilla on yhteensä 4 oppituntia.
Mikä on string.gsub?
string.gsub(s, pattern, repl, n) korvaa kuvion pattern esiintymät merkkijonossa s arvolla repl. Se palauttaa uuden merkkijonon ja korvausten määrän.
Yksinkertainen merkkijonon korvaus
Korvatkaa literaalisen osamerkkijonon kaikki esiintymät.
local s = "hello world world"
local result, count = s:gsub("world", "Lua")
print(result, count) -- hello Lua Lua 2Korvausten rajoittaminen
Välittäkää neljäs argumentti korvausten määrän rajoittamiseksi.
local s = "aaa bbb aaa"
print(s:gsub("aaa", "xxx", 1)) -- xxx bbb aaa 1Kuvioon perustuva korvaus
Korvatkaa kaikki numerot kiinteällä merkkijonolla.
local s = "abc 123 def 456"
print(s:gsub("%d+", "NUM")) -- abc NUM def NUM 2Korvausfunktio
Kun repl on funktio, sitä kutsutaan jokaisella kaappauksella (tai koko osumalla), ja sen palautusarvo korvaa osuman.
local s = "price: 100, tax: 15"
local result = s:gsub("%d+", function(n)
return tostring(tonumber(n) * 1.1)
end)
print(result) -- price: 110.0, tax: 16.5Korvaustaulukko
Kun repl on taulukko, kutakin osumaa (tai kaappausta) käytetään avaimena; taulukon arvo korvaa osuman.
local vars = {name="Alice", lang="Lua"}
local tmpl = "Hello, {name}! Welcome to {lang}."
local result = tmpl:gsub("{(%w+)}", vars)
print(result) -- Hello, Alice! Welcome to Lua.Tyhjemerkkien poistaminen
Poistakaa gsub-funktion avulla merkkijonon alussa ja lopussa olevat tyhjemerkit.
local function trim(s)
return s:gsub("^%s+", ""):gsub("%s+$", "")
end
print("[" .. trim(" hello ") .. "]") -- [hello]Kirjainkoon muuntaminen
Käyttäkää gsub-funktiota yhdessä funktion kanssa kunkin kirjaimen muuntamiseen isoksi tai pieneksi kirjaimeksi.
local function toUpper(s)
return s:gsub("%a", string.upper)
end
print(toUpper("hello world")) -- HELLO WORLDErikoismerkkien suojaaminen
Suojatkaa kaikki kuvioiden erikoismerkit merkkijonossa, jotta sitä voidaan käyttää literaalisena kuviona.
local function escapePat(s)
return s:gsub("[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1")
endPalautetun lukumäärän hyödyntäminen
Toinen palautusarvo eli korvausten määrä on hyödyllinen sen havaitsemiseen, tapahtuiko korvauksia.
local s = "no numbers here"
local result, n = s:gsub("%d+", "X")
if n == 0 then print("nothing replaced") endMallikoneen kuvio
Yksinkertainen mallikone korvaa {{key}}-paikanvaraajat tietotaulukon arvoilla.
local function render(tmpl, data)
return (tmpl:gsub("{{(%w+)}}", data))
end
print(render("Hi {{name}}!", {name="Bob"})) -- Hi Bob!gsubia koskeva kysymys
Mitä gsub-funktion repl-funktiona toimivalle argumentille välitetään?
Kertaus: string.gsub
string.gsub on merkkijonojen muunnosten monitoimityökalu: korvatkaa merkkijonoilla, funktioilla (dynaamista laskentaa varten) tai taulukoilla (sanakirjahakuja varten). Se palauttaa myös korvausten määrän.
Opi Lua tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 40
- Oppitunnit
- 159
Usein kysytyt kysymykset
Onko oppitunti ”string.gsub muunnoksiin” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Lua Academy-oppimispolun 3 oppituntia, myös oppitunnin “string.gsub muunnoksiin”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Lua Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”string.gsub muunnoksiin”?
Korvatkaa hahmoja merkkijonoilla, funktioilla tai taulukkohauilla gsub-funktion avulla. Harjoittelet Lua Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Lua Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Lua Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”string.gsub muunnoksiin”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Lua Academy-oppitunnilla?
Kyllä. Jokainen Lua Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Lua-hahmosyntaksi
- Kaappaukset ja string.match
- string.gmatch tokenisointiin
- string.gsub muunnoksiin