如何在lua中字符串查找方括号字符?
所以我试图在字符串中找到方括号:
s = "testing [something] something else"
x,y = string.find(s,"[")
这给了我一个错误:格式错误(缺少“]”)。
我也尝试过:
x,y = string.find(s,"\[")
给我同样的错误。
这是:
x,y = string.find(s,"\\[")
在这种情况下 x 和 y 为零。
关于如何正确执行此操作有什么想法吗?提前致谢。
So I'm trying to find square brackets inside a string:
s = "testing [something] something else"
x,y = string.find(s,"[")
which gives me an error: malformed pattern (missing ']').
I also tried:
x,y = string.find(s,"\[")
giving me the same error.
And this:
x,y = string.find(s,"\\[")
in this case x and y are nil.
Any thoughts on how to do this properly? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
约翰的答案会起作用——关闭模式匹配。
你想要做的 - 转义
[
- 是通过 Lua 中的%
字符完成的:Lua 中的字符串也都将字符串模块作为其元表,所以你可以直接说:
甚至:
John's answer will work -- turning off pattern matching.
What you're trying to do -- escape the
[
-- is done with the%
character in Lua:Also strings in Lua all have the string module as their metatable, so you could just say:
or even:
使用
string.find
的第四个参数,关闭模式匹配。Use the fourth argument to
string.find
, which turns off pattern-matching.