Menu
Coddy logo textTech

string.gsub() для подстановки

Часть раздела Логика и управление потоком путешествия по Lua на Coddy — урок 35 из 54.

При работе со строками часто возникает необходимость найти и заменить текст. Функция Lua string.gsub() упрощает эту задачу, выполняя глобальную подстановку — находя все вхождения шаблона и заменяя их чем-то другим.

Базовый синтаксис принимает три аргумента: исходную строку, шаблон для поиска и текст для замены:

local result = string.gsub(originalString, pattern, replacement)

Вот простой пример, который заменяет все пробелы подчеркиваниями:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Результат: hello_world_from_lua

Функция возвращает два значения: измененную строку и количество выполненных замен. При необходимости вы можете получить оба значения:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Вывод: baz bar baz
print(count)   -- Вывод: 2

В отличие от некоторых строковых функций, которые находят только первое совпадение, string.gsub() по умолчанию заменяет каждое вхождение, что делает её идеальной для задач по очистке текста, таких как удаление нежелательных символов или стандартизация форматирования.

challenge icon

Задание

Легко

Напишите функцию cleanText, которая принимает text и возвращает очищенную версию, в которой все пробелы заменены на подчеркивания.

Используйте string.gsub(), чтобы заменить каждый символ пробела в тексте на символ подчеркивания.

Параметры:

  • text (string): Текст для очистки

Возвращает: Текст, в котором все пробелы заменены на подчеркивания (string)

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

function cleanText(text)
    -- Напишите код здесь
end
quiz iconПроверьте себя

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

Все уроки раздела Логика и управление потоком