» STRINGS.lua
Приветствую, хочу представить вам свою первую библиотеку. Её задача - это расширение стандартного набора методов для работы со строковыми типами данных, так как в Lua на этот счёт всё довольно скучненько ( string.sub/gsub/gmatch/find/и т.д ), и лично мне порой часто не хватало тех или иных возможностей, которыми могут похвастаться другие языки программирования. Давайте перейдём ближе к делу..
Для начала работы с библиотекой вам понадобится лишь подключить её в начале своего скрипта:
Готово, библиотека подключена и новые методы для строк уже готовы для работы.
Работать с новыми методами вы можете в двух способах:
1) Вызывая из класса string ( Например:
2) Вызывая через двоеточие ( Например:
Cписок методов:
string.insert(str, implant[, pos]) — Вставляет текст в строку на указанную позицию
string.extract(str, pattern) — Вырезает указанный текст из строки
string.array(str) — Преобразует строку в массив
string.isEmpty(str) — Проверяет, пустая ли строка или состоит только из пробелов
string.isDigit(str) — Проверяет, состоит ли строка только из цифр
string.isAlpha(str) — Проверяет, состоит ли строка только из букв
string.split(str[, plain]) — Разбивает строку по указанному паттерну
string.lower(str) — Стандартная функция Lua, но с поддержкой кириллицы
string.upper(str) — Стандартная функция Lua, но с поддержкой кириллицы
string.isSpace(str) — Проверяет, состоит ли строка из невидимых символов (пробелы, управляющие символы)
string.isUpper(str) — Проверяет, написана ли строка в верхнем регистре
string.isLower(str) — Проверяет, написана ли строка в нижнем регистре
string.isSimilar(str) — Проверяет, одинаковые ли строки
string.isTitle(str) — Проверяет, что первая буква в строке заглавная
string.startsWith(str, prefix) — Проверяет, начинается ли строка с..
string.endsWith(str, suffix) — Проверяет, заканчивается ли строка этим..
string.capitalize(str) — Делает первую букву в строке заглавной
string.tabsToSpace(str[, count]) — Преобразует табуляции в указанное количество пробелов
string.spaceToTabs(str[, count]) — Преобразует указанное количество пробелов подряд в табуляцию
string.center(str, width[, char]) — Заполняет строку символами (по умолчанию пробел) и выравнивает в них текст по центру
string.count(str, search[, start[, end]]) — Считает совпадения в строке
string.trim(str) — Обрезает пробелы в начале и в конце строки
string.trimEnd(str) — Обрезает пробелы в конце строки
string.trimStart(str) — Обрезает пробелы в начале строки
string.swapCase(str) — Меняет регистр символов в строке местами
string.splitEqually(str, width) — Делит строку на N одинаковых частей
string.rFind(str, pattern[, pos[, plain]]) — Аналог string.find, но поиск начинается с конца
string.wrap(str, width) — Переносит строку если она достигла N длины
string.levDist(str) — Вычисляет расстояние Дамерау-Левенштейна
string.getSimilarity(str, str1) — Возвращает сходство между строками от 0 до 1 (где 0 это абсолютно разные строки, а 1 - абсолютно одинаковые)
string.empty() — Возвращает пустую строку
string.toCamel(str) — Возвращает текст в ВеРбЛюЖеМ РеГиСтРе
string.shuffle(str[, seed]) — Перемешивает все символы в рандомном порядке
string.reg_escape(str) — Экранирует regex-символы в строке
string.cutLimit(str, max_len[, ending]) — Обрезает строку с конца по указанному кол-ву символов
string.switchLayout(str) — Заменяет раскладку с RU на EN или наоборот
СКАЧАТЬ: https://github.com/c0sui/lua_strings
Приветствую, хочу представить вам свою первую библиотеку. Её задача - это расширение стандартного набора методов для работы со строковыми типами данных, так как в Lua на этот счёт всё довольно скучненько ( string.sub/gsub/gmatch/find/и т.д ), и лично мне порой часто не хватало тех или иных возможностей, которыми могут похвастаться другие языки программирования. Давайте перейдём ближе к делу..
Для начала работы с библиотекой вам понадобится лишь подключить её в начале своего скрипта:
Подключение библиотеки:
require "strings"
Работать с новыми методами вы можете в двух способах:
1) Вызывая из класса string ( Например:
string.count(text, ... )
)2) Вызывая через двоеточие ( Например:
text:count( ... )
)Cписок методов:
string.insert(str, implant[, pos]) — Вставляет текст в строку на указанную позицию
string.extract(str, pattern) — Вырезает указанный текст из строки
string.array(str) — Преобразует строку в массив
string.isEmpty(str) — Проверяет, пустая ли строка или состоит только из пробелов
string.isDigit(str) — Проверяет, состоит ли строка только из цифр
string.isAlpha(str) — Проверяет, состоит ли строка только из букв
string.split(str[, plain]) — Разбивает строку по указанному паттерну
string.lower(str) — Стандартная функция Lua, но с поддержкой кириллицы
string.upper(str) — Стандартная функция Lua, но с поддержкой кириллицы
string.isSpace(str) — Проверяет, состоит ли строка из невидимых символов (пробелы, управляющие символы)
string.isUpper(str) — Проверяет, написана ли строка в верхнем регистре
string.isLower(str) — Проверяет, написана ли строка в нижнем регистре
string.isSimilar(str) — Проверяет, одинаковые ли строки
string.isTitle(str) — Проверяет, что первая буква в строке заглавная
string.startsWith(str, prefix) — Проверяет, начинается ли строка с..
string.endsWith(str, suffix) — Проверяет, заканчивается ли строка этим..
string.capitalize(str) — Делает первую букву в строке заглавной
string.tabsToSpace(str[, count]) — Преобразует табуляции в указанное количество пробелов
string.spaceToTabs(str[, count]) — Преобразует указанное количество пробелов подряд в табуляцию
string.center(str, width[, char]) — Заполняет строку символами (по умолчанию пробел) и выравнивает в них текст по центру
string.count(str, search[, start[, end]]) — Считает совпадения в строке
string.trim(str) — Обрезает пробелы в начале и в конце строки
string.trimEnd(str) — Обрезает пробелы в конце строки
string.trimStart(str) — Обрезает пробелы в начале строки
string.swapCase(str) — Меняет регистр символов в строке местами
string.splitEqually(str, width) — Делит строку на N одинаковых частей
string.rFind(str, pattern[, pos[, plain]]) — Аналог string.find, но поиск начинается с конца
string.wrap(str, width) — Переносит строку если она достигла N длины
string.levDist(str) — Вычисляет расстояние Дамерау-Левенштейна
string.getSimilarity(str, str1) — Возвращает сходство между строками от 0 до 1 (где 0 это абсолютно разные строки, а 1 - абсолютно одинаковые)
string.empty() — Возвращает пустую строку
string.toCamel(str) — Возвращает текст в ВеРбЛюЖеМ РеГиСтРе
string.shuffle(str[, seed]) — Перемешивает все символы в рандомном порядке
string.reg_escape(str) — Экранирует regex-символы в строке
string.cutLimit(str, max_len[, ending]) — Обрезает строку с конца по указанному кол-ву символов
string.switchLayout(str) — Заменяет раскладку с RU на EN или наоборот
Разделение строки равные части по 2 символа:
local string = "Looooooooooooooooooong"
local arr = string:splitEqually(2)
print( table.concat(arr, " | ") )
-- Output: Lo | oo | oo | oo | oo | oo | oo | oo | oo | oo | ng
Перенос строк:
local text = "Пришёл мужик на рынок, видит шляпу. Надевает, а она ему как раз!"
print( string.wrap(text, 15) )
-- Output:
-- Пришёл мужик на
-- рынок, видит
-- шляпу.
-- Надевает, а она
-- ему как раз!
Сравнение строк на сходство:
local str_1 = "Привет мир!"
local str_2 = "Привіт світ!"
local diff = string.getSimilarity(str_1, str_2)
print( ("Строки идентичны на %d%%"):format(diff * 100) )
-- Output: Строки идентичны на 58%
Проверка на окончание строки:
local path = "C:\\Images\\icon.txt"
if not path:endsWith(".png") then
print("File is not PNG image!")
end
-- Output: File is not PNG image!
Узнаём количество определённых букв в тексте:
local text = "Каждый охотник желает знать где сидит фазан"
print( text:count("а") )
-- Output: 5
СКАЧАТЬ: https://github.com/c0sui/lua_strings
Последнее редактирование: