脚本不会用gsub替换空白

时间:2018-12-07 00:38:15

标签: lua

我有一个lua脚本,尝试用%20替换空白空间时出现错误提示

text = "This is great"
text = string.lower(text)

output = text:gsub("%s", "%20")
print(output)

我希望它用%20替换其中的空白,但这会导致错误

1 个答案:

答案 0 :(得分:2)

百分号不仅在gsub的搜索模式中具有特殊含义,在替换模式中也具有特殊含义。更具体地说,%2表示“模式的第二捕获组的内容”。如果用另一个百分号转义百分号,它将失去其特殊含义:

output = text:gsub("%s", "%%20")

但是... 似乎您正在尝试使字符串成为URL的一部分。 URLencode / URLdecode不只是用%20代替空格,还涉及RFC3986详细描述的转换。值得使用第三方库。