Обговорення модуля:String

Матеріал з Вікіпедії — вільної енциклопедії.
Найсвіжіший коментар: Andriy.v 3 роки тому
Перейти до навігації Перейти до пошуку

Andriy.v, Ви можете, будь ласка, або додати цю функцію:

--[[
explode

Should act as described in https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions##explode
Usage:
{{#invoke:String|explode|string|delimiter|position|limit}}
]]
function str.explode(frame)
	local source = frame.args.string or frame.args[1]
	if not source then error('The "string" parameter is not specified') end
	local delimiter = frame.args.delimiter or frame.args[2]
	if not delimiter then error('The "delimiter" parameter is not specified') end
	local position = frame.args.position or frame.args[3] or 0
	local limit = frame.args.limit or frame.args[4] or 1
	
	local startIndex = 1
	for i = 1, position do
		local delimiterEnd = select(2, string.find(source, delimiter, startIndex, true))
		startIndex = (delimiterEnd or #source) + 1
	end

	local delimiterStart = startIndex
	do
		local delimiterEnd = delimiterStart - 1
		for i = 1, limit do
			delimiterStart, delimiterEnd = string.find(source, delimiter, delimiterEnd + 1, true)
			if not delimiterStart then delimiterStart, delimiterEnd = #source + 1, #source end
		end
	end
	
	return string.sub(source, startIndex, delimiterStart - 1)
end

або увімкнути $wgPFEnableStringFunctions? Sasha1024 (обговорення) 17:38, 29 жовтня 2020 (UTC)Відповісти

YesТак Зроблено.--Andriy.v (обговорення) 17:53, 29 жовтня 2020 (UTC)Відповісти