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

时间:2011-08-26 21:07:24

标签: lua escaping gsub lua-patterns

基本问题,但我一直试图找出一段时间没有运气。

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

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

text = string.gsub(text, "%s+", '%%20')

我需要在%内使用多少gsub来逃避%符号和%2捕获。

2 个答案:

答案 0 :(得分:3)

似乎对我有用:

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

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

答案 1 :(得分:3)

或者,您可以使用以下内容自动执行此操作:

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

当然,这是假设您的lua路径中有套接字库。老实说,这就是我用url做任何事情的方式,因为那时你不必担心将逗号转换为%2c或撇号转换为%27。