Lua:转义string.gsub中的文字%和捕获%2

Lua:转义string.gsub中的文字%和捕获%2,lua,escaping,gsub,lua-patterns,Lua,Escaping,Gsub,Lua Patterns,基本的问题,但我一直在试图弄清楚一段时间没有运气 我正在处理的网址,需要做一个简单的更换 我需要用文本字符串%20替换空格,但我似乎无法逃脱%或%2,这被报告为无效捕获 text = string.gsub(text, "%s+", '%%20') 我必须在gsub内部使用多少%才能避开%符号和%2捕获。似乎对我有用: > text="hello world" > print(string.gsub(text, "%s+", '%%20')) hello%20world 1

基本的问题,但我一直在试图弄清楚一段时间没有运气

我正在处理的网址,需要做一个简单的更换

我需要用文本字符串
%20
替换空格,但我似乎无法逃脱%或
%2
,这被报告为无效捕获

text = string.gsub(text, "%s+", '%%20')
我必须在
gsub
内部使用多少
%
才能避开
%
符号和
%2
捕获。

似乎对我有用:

> text="hello world"
> print(string.gsub(text, "%s+", '%%20'))
hello%20world   1

您需要显示更多的代码和错误消息。

或者,您可以通过以下方式自动执行此操作:

url = require("socket.url")
text = url.escape(string)

当然,这是假设您的lua路径中确实有套接字库。老实说,这就是我处理URL的方法,因为这样你就不必担心将逗号转换成%2c或将撇号转换成%27。

你确定键入的是
%%20
而不是
%%20
?我的错误是,我将替换结果输入到string.format()因此,%的角色在那时救了我。谢谢你的帮助。我留下以下内容作为这个新手问题的参考。哦,好消息,谢谢。我本来想+1,但今天跑出去了。