用于string.match多个单词和数字的Lua函数

Posted

技术标签:

【中文标题】用于string.match多个单词和数字的Lua函数【英文标题】:Lua function for string.match multiple words and numbers 【发布时间】:2022-01-20 15:58:15 【问题描述】:

如果我有一个搜索框并想查找字符串是否包含某些单词(不区分大小写)和/或数字。

search = "Brown lazy 46"
textline = "The quick brown fox jumped over 46 lazy dogs"
if string.match(textline, search) then
  result = textline
end

就像网络搜索一样。

【问题讨论】:

为了解决这个问题,你做了什么?第一个明显的解决方案是遍历您的搜索词并检查它们是否在提供的文本中。 This 可能有用 【参考方案1】:
search = "Brown lazy 46"
textline = "The quick brown fox jumped over 46 lazy dogs"

for item in string.gmatch(search, "%S+") do 
if string.find(textline, string.lower(item)) then
   result = textline
    end
end

你把你要找的单词值打散,然后转换成一个数组。然后您应该循环该数组并检查您的主变量是否在其中。

如果我理解正确你想做什么,这应该可以解决你的问题。

【讨论】:

我只需将其全部更改为小写即可“if string.find(string.lower(textline), string.lower(item)) then”

以上是关于用于string.match多个单词和数字的Lua函数的主要内容,如果未能解决你的问题,请参考以下文章

将 Lua string.match 输出存储到数组

lua如何从字符串提取某一个字符

lua: 截取字符串/home/root/test/123:输出结果为123 ,怎么弄呢?

Lua简单解析xml

语言是Lua,单词是“嵌入式”

LUA,多个数字字符串到数字