Дополнительные действия
Для документации этого модуля может быть создана страница Модуль:Split/doc
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}
--- Разделяет строку `str` по шаблону `pattern`.
-- @param str string Строка для разделения.
-- @param pattern string Шаблон, по которому происходит разделение.
-- @param plain boolean Опционально. Если true, шаблон воспринимается как обычная строка.
-- @return table Список строк, полученных в результате разделения.
function p.split(str, pattern, plain)
checkType('split', 1, str, 'string')
checkType('split', 2, pattern, 'string')
checkType('split', 3, plain, 'boolean', true)
local i, out = 1, {}
local split_start, split_end = string.find(str, pattern, i, plain)
while split_start do
out[#out + 1] = string.sub(str, i, split_start - 1)
i = split_end + 1
split_start, split_end = string.find(str, pattern, i, plain)
end
out[#out + 1] = string.sub(str, i)
return out
end
return p