我有一个lua脚本,尝试用%20替换空白空间时出现错误提示
text = "This is great"
text = string.lower(text)
output = text:gsub("%s", "%20")
print(output)
我希望它用%20替换其中的空白,但这会导致错误
答案 0 :(得分:2)
百分号不仅在gsub的搜索模式中具有特殊含义,在替换模式中也具有特殊含义。更具体地说,%2
表示“模式的第二捕获组的内容”。如果用另一个百分号转义百分号,它将失去其特殊含义:
output = text:gsub("%s", "%%20")
但是...
似乎您正在尝试使字符串成为URL的一部分。 URLencode / URLdecode不只是用%20
代替空格,还涉及RFC3986详细描述的转换。值得使用第三方库。