String “从表中查找字符串中的字母”仅适用于第一项
嗨,没有lua代码我无法解释 问题是它只是捕获表的第一项 如果我写了te=“f…you”,它将返回true,但如果我写了te=“a…”,它将返回false-_- 我只是想从字符串中找出不好的单词,下面是代码 *对不起,我只是没有写完整String “从表中查找字符串中的字母”仅适用于第一项,string,lua,find,lua-table,String,Lua,Find,Lua Table,嗨,没有lua代码我无法解释 问题是它只是捕获表的第一项 如果我写了te=“f…you”,它将返回true,但如果我写了te=“a…”,它将返回false-_- 我只是想从字符串中找出不好的单词,下面是代码 *对不起,我只是没有写完整 local te=“f…你” 坏话={ “f…”, “a…”, “s…”, “b…”, “g…”, “w…”, } 以及功能: function isTextContainsBadwords(str) for i,v in ipairs(badwords)
local te=“f…你”
坏话={
“f…”,
“a…”,
“s…”,
“b…”,
“g…”,
“w…”,
}
以及功能:
function isTextContainsBadwords(str)
for i,v in ipairs(badwords) do
if str:find(v) then
return true
else
return false
end
end
end
print(tostring(isTextContainsBadwords(te)))
这是因为当您迭代表
badwords
时,表中的第一个字符串“f...”
与a..
不匹配,否则块中有一个返回false
;它终止代码的执行
这里不需要else
块。只需将returnfalse
置于for
循环之外即可
function isTextContainsBadwords(str)
for i,v in ipairs(badwords) do
if str:find(v) then
return true
end
end
return false
end
啊,我没注意到这一点,非常感谢^^食梦者^^