Menu
Coddy logo textTech

string.find()

Часть раздела Fundamentals путешествия по Lua на Coddy — урок 48 из 90.

Функция string.find() — это мощный инструмент для поиска внутри строк. Она позволяет искать подстроку (называемую шаблоном) внутри более длинной строки и сообщает вам, где именно она была найдена.

Вот базовый синтаксис:

string.find(text, pattern)

Когда string.find() успешно находит шаблон, она возвращает два числа: начальную и конечную позиции совпадения. Если шаблон не найден, она возвращает nil.

Вот простой пример:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- выводит: 5 12

В этом примере слово "treasure" начинается с позиции 5 и заканчивается на позиции 12 в предложении.

challenge icon

Задание

Легко

Создайте детектор секретных сообщений, который ищет скрытое кодовое слово внутри более крупного текстового сообщения. Объявите переменную с именем message и присвойте ей значение "The ancient treasure lies beneath the old oak tree". Используйте функцию string.find() для поиска слова "treasure" внутри сообщения и сохраните начальную и конечную позиции в переменных с именами startPos и endPos. Выведите оба значения позиций на отдельных строках.

Шпаргалка

Функция string.find() ищет шаблон внутри строки и возвращает начальную и конечную позиции совпадения или nil, если совпадение не найдено.

Базовый синтаксис:

string.find(text, pattern)

Пример:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- выводит: 5 12

Попробуйте сами

-- Объявите переменную message
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO: Напишите здесь свой код, чтобы найти слово "treasure" и сохранить позиции

-- Выведите позиции
print(startPos)
print(endPos)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals