local a = "te\st"
local b = string.gsub(a,'\','\\\\')
assert(false,b)
我究竟做错了什么?
当我这样做时assert
,我希望将字符串te\st
打印到屏幕上......但它不起作用
我有一个 JSON 文件,我想将它解码成 Lua 表。我不需要打印任何内容,我assert
只是为了测试本地问题。
所以我需要将所有数据保存在具有'\'
.
如果您不希望反斜杠具有特殊含义,请使用[[]]
代替""
或。''
阅读手册中的文字字符串。
您是否尝试过用%
角色而不是\
我不知道这是否会有所帮助,但我有一段时间让 Luagsub
将我的字符串与我想要按字面意思对待的特殊字符匹配……结果证明不是\
用作转义字符,或者将字符加倍,我需要在特殊字符前面加上前缀%
以使其按字面意思对待。
你的问题不太清楚,所以我不是 100% 确定你的意思。您的意思是当 b 等于字符串“te\st”时,您希望触发断言?如果是这样,你可以做一个简单的:
assert(b ~= "te\st")
或者我想...
assert(b ~= a)
你不需要 gsub。但无论如何它都在这里。
local a = "te\\st"
local b = string.gsub(a,'\\','\\')
assert(false,b)