没有解释这个问题,所以如果我把它输入Lua Interpreter(从here修改):
print(tostring(string.find("Hello Lua user", "banana")))
按预期方式返回的输出为nil
。但是,如果我和"尝试同样的事情。"而不是" banana",像这样:
print(tostring(string.find("Hello Lua user", ".")))
我得1
,这是为什么?有什么方法可以检测字符串中是否有点? (如果它是相关的,我需要知道,所以我可以检测目录是文件还是文件夹(是的,我知道你可以在文件夹中有点/在Linux上的文件中没有点))
答案 0 :(得分:6)
find
使用Lua的模式匹配,除非你告诉它不要。 .
是character class,意思是“任何角色”。如果要查找实际期间,您需要:
%.
。find
to not using pattern matching. 这都是in the manual,这可能是你应该从这些问题开始的地方。