string.find在搜索"时没有返回nil。"

时间:2015-08-19 15:52:51

标签: string lua find

没有解释这个问题,所以如果我把它输入Lua Interpreter(从here修改):

print(tostring(string.find("Hello Lua user", "banana")))

按预期方式返回的输出为nil。但是,如果我和"尝试同样的事情。"而不是" banana",像这样:

print(tostring(string.find("Hello Lua user", ".")))

我得1,这是为什么?有什么方法可以检测字符串中是否有点? (如果它是相关的,我需要知道,所以我可以检测目录是文件还是文件夹(是的,我知道你可以在文件夹中有点/在Linux上的文件中没有点))

1 个答案:

答案 0 :(得分:6)

find使用Lua的模式匹配,除非你告诉它不要。 .character class,意思是“任何角色”。如果要查找实际期间,您需要:

  1. 逃离期间:%.
  2. Tell find to not using pattern matching.
  3. 这都是in the manual,这可能是你应该从这些问题开始的地方。