Regel 20: | Regel 20: | ||
function p.main( frame ) | function p.main( frame ) | ||
− | str = mw.text.unstrip(frame.args[1] | + | local str = mw.text.unstrip( frame.args[1] or frame.args.str ) |
− | padlength = mw.text.unstrip(frame.args[2] | + | local padlength = mw.text.unstrip( frame.args[2] or frame.args.padlength ) |
− | regpattern = "!\d+!" | + | local regpattern = "!\d+!" |
+ | local matches = string.match( str, regpattern ) | ||
− | |||
if matches == nil | if matches == nil | ||
then str = "" | then str = "" |
Versie van 10 aug 2023 10:08
local p = {} p.padleft = function( str, len, char ) if char == nil then char = '0' end char = '0' res = string.rep( char, len - #str ) .. str return res end p.padright = function( str, len, char ) if char == nil then char = '0' end char = '0' res = str .. string.rep( char, len - #str ) return res end function p.main( frame ) local str = mw.text.unstrip( frame.args[1] or frame.args.str ) local padlength = mw.text.unstrip( frame.args[2] or frame.args.padlength ) local regpattern = "!\d+!" local matches = string.match( str, regpattern ) if matches == nil then str = "" else for k, v in matches[0] do padded = p.padright( v, 5, '0' ) str:gsub( v, padded ) end end -- return str end return p