Lua如何从字符串中删除撇号

所以我有一个问题,Lua gsub从字符串中删除撇号,如果有一个独立的撇号或很多撇号,我似乎无法将其删除。

local uri_without_args = "'" --一个撇号
local uri_without_args = "''''''''lol''''" --在文本中
local uri_without_args = "''''''''''''" --很多
--等等--所有出现都必须消失

local list = {
"%'", --撇号
}
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
                --什么也不做
            else
                uri_without_args = uri_without_args:gsub(""..v.."","")
            end
        end
    end
end

print(uri_without_args)
点赞
用户3574628
用户3574628

唯一的时候你会为 uri_without_args 分配一个新值是当 uri_without_args_remove_duplicates 不为空时。如果你从赋值 uri_without_argsif 语句中删除它,或者如果 uri_without_args 起始值为 "''''''''lol''''",那么它就能正常工作。

正如 Egor 在评论中所说,你也可以将 uri_without_args_remove_duplicates 直接用作结果值。

2018-08-23 16:54:12