string find 函数无法返回预期的结果

我正在尝试在 Lua 中检查是否找到 AGM-65D,但是 string.find("LAU-117,AGM-65D", "AGM-65D") 和 string.match("LAU-117,AGM-65D", "AGM-65D") 都返回 nil。有人能告诉我为什么吗?也许逗号或“-”符号必须以不同的方式使用?

谢谢

点赞
用户5675002
用户5675002

string.findstring.match 都会在 pattern 中搜索,而不是普通的字符串。你的搜索失败是因为 - 符号在模式匹配中是一个特殊字符。

若要使其运行,请在特殊字符前加上 % 符号,将其变为 "AGM%-65D"

编辑:Egor 的评论提醒我们,string.find 还有一些可选参数可以使其搜索普通文本,在简单的搜索情况下应该优先使用。

2018-12-26 12:43:41