Tekstin etsiminen ja korvaaminen

Lua:
Tekstin etsiminen ja korvaaminen

How to: - Kuinka:

-- Yksinkertainen tekstinkorvaus
local original = "Hello, world!"
local replaced = original:gsub("world", "Lua")
print(replaced)  -- Output: Hello, Lua!

-- Malliesimerkki säännöllisten lausekkeiden käytöstä
local log = "Error: Line 1024 - Invalid syntax."
local corrected = log:gsub("(%d+)", function(number) 
    return tonumber(number) + 1 
end)
print(corrected)  -- Output: Error: Line 1025 - Invalid syntax.

-- Globaali korvaus (kaikki esiintymät)
local story = "The fox jumps over the lazy dog. The dog did not move."
local fixed_story = story:gsub("dog", "cat")
print(fixed_story)  -- Output: The fox jumps over the lazy cat. The cat did not move.

Deep Dive - Syväsukellus

Lua-kielessä tekstinkorvaus tehdään string.gsub -funktiolla. gsub lyhenee “global substitution” eli globaalista korvauksesta. Se löi läpi versiossa 5, joka toi mukanaan tehokkaat kuviovasteet ja säännölliset lausekkeet.

Vaihtoehdot? Voit käyttää string.find etsiäksesi ennen korvausta tai koota monimutkaisempia käsittelyitä. Mutta monesti gsub riittää.

Mitä teknisempiin yksityiskohtiin tulee, gsub käyttää ‘pattern matching’ -tekniikkaa, joka on yksinkertaistettu säännöllisten lausekkeiden muoto. Huomaathan, ettei Lua tue täysiä säännöllisiä lausekkeita kuten jotkin muut kielet.

See Also - Katso myös