Module:string/charsetEscape

< Module:string
Revision as of 21:20, 21 May 2025 by wikt>Theknightwho
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:string/charsetEscape/doc

local gsub = string.gsub

local chars
local function get_chars()
	chars, get_chars = {
		["\000"] = "%z", ["%"] = "%%", ["-"] = "%-", ["]"] = "%]", ["^"] = "%^",
	}, nil
	return chars
end

--[==[Escapes the magic characters used in pattern character sets: {%-]^}, and converts the null character to {%z}.]==]
return function(str)
	return (gsub(str, "[%z%%%-%]^]", chars or get_chars()))
end