下面是我的代码
str = "abc@hotmailcom"
a = string.find(str , "@")
print(a)
我的输出是4,即“ @”的位置值
但是当我运行以下代码时
str = "abc@hotmailcom"
a = string.find(str , ".")
print(a)
而不是输出“ nil”,程序将返回值1。
我是Lua语言的新手,所以谁能向我解释正在发生什么以及string.find()在lua中如何工作?
.
是lua模式中所有字符的字符类,您必须使用%
对其进行转义。参见Lua Patterns
> print(string.find("abc@hotmailcom", "."))
1 1
> print(string.find("abc@hotmailcom", "%."))
nil