【问题标题】:Lua gsub replace "%%" with "%"Lua gsub 将 "%%" 替换为 "%"
【发布时间】:2017-12-24 01:34:11
【问题描述】:

我正在尝试使用 lua 的 string:gsub 函数将 "%%p" 变成 "%p"

例如,我的代码看起来像 本地 a = "你好%%pWorld" a = a:gsub("%%","%") 打印(一) 我收到错误:“在替换字符串中无效使用 '%'”

我尝试了 a:gsub("%%","%%") 但这只是再次给了我“Hello%%pWorld”

我可以使用 a:find("%%") 得到我想要的,然后使用 a:sub 将它重新组合在一起,没有单个 "%",但这似乎相当复杂

【问题讨论】:

    标签: lua


    【解决方案1】:

    %% 匹配单个 %,因为 % 是 Lua 模式中的转义字符。

    试试a = a:gsub("%%%%","%%")

    【讨论】:

    • 试过 local a = "Hello%%pWorld" a:gsub("%%%%","%%") print(a) 获取输出 > Hello%%pWorld
    • @James,你需要在你的问题中做a = a:gsub("%%%%","%%")
    • 糟糕,太尴尬了!非常感谢。这完美无缺
    • %%%% 是 Lua 的 LTS 变体 :-)
    • @lhf - 是的,a:gsub("%%%%","%%")a:gsub("\\\\\\\\","\\\\") 好。但是还有更易读的版本:a:gsub("%%{2}","%%"),不幸的是它没有在 Lua 中实现。 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2019-04-21
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多