Mòdul:StringFunc: diferència entre les revisions

Contingut suprimit Contingut afegit
Cap resum de modificació
Cap resum de modificació
Línia 45:
source: The string to return a subset of
separator: The string to split on
count: The nth substring based on the patternseparator to return
]]
function p.split( frame )
local new_args = p._getParameters( frame.args, {'source', 'patternseparator', 'count'} )
local source_str = new_args['source'] or '';
local patternseparator = new_args['patternseparator'] or '';
local pattern_lenseparator_len = mw.ustring.len(patternseparator);
if source_str == '' or patternseparator == '' then
return source_str;
end
local l_plain = p._getBoolean( new_args['plain'] or true );
patternseparator = p._escapePattern( patternseparator );
patternseparator = "[" .. patternseparator .. "]"
local ret_count = tonumber( new_args['count'] ) or 1;
if ret_count < 1 then
return "";
end
local start = 1;
local iter = mw.ustring.find(source_str, patternseparator, start, plain);
if iter == nil then
if ret_count == 1 then
Linha 75 ⟶ 78:
for i=2, ret_count do
start = iter+pattern_len + 1;
iter = mw.ustring.find(source_str, patternseparator, start, plain);
if iter == nil then
if ret_count == i then