所以我试图在字符串中找到方括号:
s = "testing [something] something else"
x,y = string.find(s,"[")
这给了我一个错误:格式错误的模式(缺少']')。
我也尝试过:
x,y = string.find(s,"\[")
给我同样的错误。
而且:
x,y = string.find(s,"\\[")
在这种情况下,x和y为零。
有关如何正确执行此操作的任何想法?提前谢谢。
答案 0 :(得分:12)
John的回答将起作用 - 关闭模式匹配。
你想要做什么 - 逃避[
- 是用Lua中的%
字符完成的:
x,y = string.find(s,'%[')
Lua中的字符串也都有字符串模块作为其元表,所以你可以说:
x,y = s:find('%[')
甚至:
x,y = s:find'%['
答案 1 :(得分:4)
使用string.find
的第四个参数,这将关闭模式匹配。
x, y = string.find(s, "[", nil, true)