因此,如果Lua gsub本身或其中有一个撇号,则我会从字符串中删除撇号时遇到问题,我似乎无法用它来删除其中的任何一个。
local uri_without_args = "'" --one on its own
local uri_without_args = "''''''''lol''''" --in text
local uri_without_args = "''''''''''''" --loads
--etc--etc all occurrences must go
local list = {
"%'", --apostrophe
}
for k,v in ipairs(list) do
local uri_without_args_remove_duplicates, occurrences = uri_without_args:gsub(""..v.."","")
if occurrences > 0 then
occurrences = occurrences + 1
for i=1, occurrences do
if uri_without_args_remove_duplicates=="" then
--do nothing
else
uri_without_args = uri_without_args:gsub(""..v.."","")
end
end
end
end
print(uri_without_args)
答案 0 :(得分:2)
只有uri_without_args
不为空时,才为uri_without_args_remove_duplicates
分配新值。如果您从分配给if
的地方删除uri_without_args
语句,或者如果uri_without_args
以"''''''''lol''''"
开头,那么它将正常工作。
正如Egor在评论中所说,您也可以简单地使用uri_without_args_remove_duplicates
作为结果值。