模块:Split

    来自中国珂学院

    可在模块:Split/doc创建此模块的帮助文档

    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