lua中string.gsub做替换时当pattern中含有 )这个字符时(也不一定是这个字符,只不过我碰到的是)会报错
-- 字符串替换【不执行模式匹配】
-- s 源字符串
-- pattern 匹配字符串
-- repl 替换字符串
--
-- 成功返回替换后的字符串,失败返回源字符串
string.replace = function(s, pattern, repl)
local i,j = string.find(s, pattern, 1, true)
if i and j then
local ret = {}
local start = 1
while i and j do
table.insert(ret, string.sub(s, start, i - 1))
table.insert(ret, repl)
start = j + 1
i,j = string.find(s, pattern, start, true)
end
table.insert(ret, string.sub(s, start))
return table.concat(ret)
end
return s
end