LINUX.ORG.RU

История изменений

Исправление proud_anon, (текущая версия) :

Всё-таки накодил. СЛЕГКА ИСПРАВИЛ ПОСЛЕ ПУБЛИКАЦИИ.

function straightforward_split(str, separator)
	local separator, fields, start, i = separator or ",", {}, 1, 1
	while true do
		i = str:find(separator, start, true)
		if i then
			fields[#fields + 1] = str:sub(start, i - 1)
			start = i + #separator
		elseif start < #str then
			fields[#fields + 1] = str:sub(start)
			break
		else
			break
		end
	end
	return fields
end

t = straightforward_split("34 ~ olo tlolo ~ mew' olo ~ kkk g! ~ 10:701", " ~ ")
for k, v in pairs(t) do
	print(v .. ';') -- Чтобы узнать, нет ли лишних пробелов
end

Выводит:

34;
olo tlolo;
mew' olo;
kkk g!;
10:701;

Исходная версия proud_anon, :

Всё-таки накодил

function straightforward_split(str, separator)
	local separator, fields, start, i = separator or ",", {}, 1, 1
	while true do
		i = str:find(separator, start, true)
		if i then
			fields[#fields + 1] = str:sub(start, i - 1)
			start = i + #separator
		else
			fields[#fields + 1] = str:sub(start)
			break
		end
	end
	return fields
end

t = straightforward_split("34 ~ olo tlolo ~ mew' olo ~ kkk g! ~ 10:701", " ~ ")
for k, v in pairs(t) do
	print(v .. ';') -- Чтобы узнать, нет ли лишних пробелов
end

Выводит:

34;
olo tlolo;
mew' olo;
kkk g!;
10:701;