我试图用“ \”分隔,但是该字符在Lua中是如此特殊,即使我使用转义字符“%”,IDE也会显示错误Unterminated String constant
local index = string.find("lua. is \wonderful", "%\", 1)
答案 0 :(得分:1)
要将反斜杠\
插入带引号的字符串中,请自行将其转义:"\\"
。 \
在常规引号字符串中为the escape character,因此它用\
进行了转义。或者,您也可以使用长字符串语法,该语法不允许转义序列,如已经指出的:[[\]]
。
百分比只是用作pattern的字符串中的转义字符,因此在^$()%.[]*+-?
的第二个参数{{ 1}},string.find
和string.match
,而string.gmatch
代表string.gsub
的第三个参数中的%%
。
存储在内存中的字符串中仍存在百分比,但是反斜杠转义序列被替换为相应的字符。当字符串存储在内存中时,%
变成string.gsub
,并且如果您使用\\
计算字符串\
中的反斜杠数量,则只会找到一个:{{ 1}}返回"\\"
。