跳转到内容

模組:String/charsetEscape

維基詞典,自由的多語言詞典
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