在Lua中通过在string.gsub()中使用'%'来实现字符替换。

我有以下代码:

local strs = "my dog"
print (string.gsub( strs , " ","%20"))

我想要的输出是 my%20dog,但我得到了以下错误:

Runtime error
        ... invalid capture index
stack traceback:
        [C]: ?
        [C]: in function 'gsub'

我已经看到 % 在 Lua 中是转义符。

我的问题是,如何在我替换出来的新字符串(strs)中应用 %

点赞
用户1021965
用户1021965

尝试

print (string.gsub( strs , " ","%%20"))

在 Lua 中,% 用于正则表达式操作,例如 %a 代表所有字母(这里有一个教程)。因此,为了转义它,我们需要用 %% 来表示我们实际上正在寻找一个百分号而不是一个正则表达式。

2012-06-13 05:13:59