Lua:
Извлечение подстрок
Как это сделать:
В Lua используйте функцию string.sub
:
local text = "Hello, Lua!"
-- Извлекаем 'Hello'
print(string.sub(text, 1, 5)) -- Вывод: Hello
-- Получаем 'Lua'
print(string.sub(text, 8, 11)) -- Вывод: Lua
Или получите последние символы с использованием отрицательных индексов:
-- Выделяем 'Lua!' с конца
print(string.sub(text, -4)) -- Вывод: Lua!
Используйте шаблоны для поиска и извлечения:
local phrase = "The quick brown fox jumps"
-- Соответствие и извлечение 'quick'
print(phrase:match("(%a+) quick")) -- Вывод: The
Подробно
В раннем программировании обработка строк была ручной и громоздкой, часто требующей циклов и условных операторов. string.sub
в Lua является частью его более богатой библиотеки строк, делая манипуляции со строками легкими. Альтернативы string.sub
включают сопоставление с образцом с помощью string.match
, которое более мощное, но может быть избыточным для простых задач.
string.sub
и сопоставление с образцом основаны на функциях C из-за корней Lua в C. В Lua вы не найдете обширной стандартной библиотеки для строк по сравнению с языками, такими как Python; она придерживается основ, ценя простоту и эффективность. Помните, что индексы в Lua начинаются с 1, а не с 0.
Смотрите также
- Руководство по Lua 5.4 о строках: www.lua.org/manual/5.4/manual.html#6.4
- ‘Программирование на Lua’ (4-е издание), особенно глава о строках: www.lua.org/pil/contents.html