为什么lua string.find为这个测试用例返回true?

时间:2013-03-07 16:05:06

标签: string lua

我刚接触到lua ......所以如果我遗漏了一些基本的东西,我会道歉 我正在运行一个简单的测试,看看我是否可以在字符串中找到某些值。

以下是代码:

print(string.find('fd@testca','.') )

而不是失败,这是我期待的,我回来了:

mymachinename:/usr/share/std/test# lua test.lua
1       1
你能告诉我哪里出错吗? 谢谢。

2 个答案:

答案 0 :(得分:6)

这是因为在Lua中,find方法会查找模式. represents any character

您可以使用字符集解决问题:

print(string.find('fd@testca','[.]') )

这是link to a small demo

答案 1 :(得分:3)

Lua使用模式(描述here)进行搜索。您可以使用可选的第四个参数关闭模式:

print(string.find('fd@testca','.', 1, true) )

可选的第三个参数(1)是起始位置。