2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Split

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [创建] [刷新]
local module = {}

local getArgs = require('Module:Arguments').getArgs

function module._main(args, frame)
	local str = args['str'] or ''
	local ptn = args['ptn'] or ''
	ptn = mw.text.decode(mw.text.unstripNoWiki(ptn))
	local name = args['name'] or 'foo'
	if args['reg'] ~= 'on' then
		ptn = mw.ustring.gsub(ptn, '([%%%(%)%.%+%-%*%?%[%]%^%$])', '%%%1')
	end
	local datas = mw.text.split(str, ptn)
	for i, v in ipairs(datas) do
		v = mw.ustring.gsub(v, '^%s*(.+)%s*$', '%1')
		frame:callParserFunction( '#vardefine', name..i,  v)
	end
	frame:callParserFunction( '#vardefine', name..'.count',  #datas)
end

function module.main(frame)
	local args = getArgs(frame)
	return module._main(args, frame)
end


return module