Module:Split
跳到导航
跳到搜索
- 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