gpt4 book ai didi

string.find 搜索 "."时不返回 nil

转载 作者:行者123 更新时间:2023-12-02 08:26:01 25 4
gpt4 key购买 nike

没有太多关于这个问题的解释,所以如果我在 Lua Interpreter 中输入这个(从 here 修改):

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

如预期的那样,返回的输出为 nil。但是,如果我用“。”尝试同样的事情。而不是“香蕉”,像这样:

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

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

最佳答案

find 使用 Lua 的模式匹配,除非你告诉它不要这样做。 .character class意思是“任何字符”。如果你想找到一个实际的时期,你需要:

  1. 转义句点:%..
  2. Tell find to not using pattern matching.

这就是全部 in the manual ,这可能是您应该从这些问题开始的地方。

关于string.find 搜索 "."时不返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com