如果在一串文本中至少找到一次特定的匹配文本,我需要创建一个条件,例如:
str = "This is some text containing the word tiger."
if string.match(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")
如何检查文本是否在字符串中的某处找到?
答案 0 :(得分:59)
您可以使用string.match
或string.find
之一。我个人自己使用string.find()
。此外,您需要指定end
语句的if-else
。所以,实际的代码就像:
str = "This is some text containing the word tiger."
if string.match(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")
end
str = "This is some text containing the word tiger."
if string.find(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")
end
应该注意的是,在尝试匹配特殊字符(例如.()[]+-
等)时,应使用%
字符在模式中对其进行转义。因此,为了匹配,例如。 tiger(
,电话会是:
str:find "tiger%("
可以在Lua-Users wiki或SO's Documentation sections检查有关模式的更多信息。