Regel 22: | Regel 22: | ||
local str = mw.text.unstrip( frame.args[1] or frame.args.str ) | 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 padlength = mw.text.unstrip( frame.args[2] or frame.args.padlength ) | ||
− | local regpattern = "\%d+" | + | --local regpattern = "\%d+" |
− | local matches = string.match( str, regpattern ) | + | --local matches = string.match( str, regpattern ) |
+ | |||
+ | local res = string.gsub( | ||
+ | str, | ||
+ | "(%d+)", | ||
+ | function(d) return p.padright( d, 5, '0' ) end | ||
+ | ) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
-- | -- | ||
− | return | + | return res |
end | end | ||
return p | return p |
Versie van 10 aug 2023 12:14
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 ) local res = string.gsub( str, "(%d+)", function(d) return p.padright( d, 5, '0' ) end ) -- return res end return p