Как проверить соответствие текста в строке в Lua?
Мне нужно сделать условное значение true, если определенный соответствующий текст найден хотя бы один раз в строке текста, например:
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.")
Как я могу проверить, находится ли текст где-то в строке?
1 ответов
вы можете использовать любой из 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
следует отметить, что при попытке соответствия специальным символам (например,.()[]+-
etc.), они должны быть экранированы в шаблонах с использованием %
символ. Поэтому, чтобы соответствовать, например. tiger(
, вызов был быть:
str:find "tiger%("
более подробную информацию о модели можно проверить в Lua - пользователи wiki или и.