Подтвердить что ты не робот

Как проверить, найден ли соответствующий текст в строке в Lua?

Мне нужно сделать условие, которое истинно, если конкретный соответствующий текст найден хотя бы один раз в строке текста, например:

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.")

Как проверить, найден ли текст где-нибудь в строке?

4b9b3361

Ответ 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

Следует отметить, что при попытке сопоставить специальные символы (например, .()[]+- и т.д.) они должны быть экранированы в шаблонах с использованием символа %. Поэтому, чтобы соответствовать, например. tiger(, вызов будет:

str:find "tiger%("

Более подробную информацию о шаблонах можно проверить на Liki-пользователя wiki или SO Документация.