Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| 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 09:08
Module:Pad numbers
Summary
Pad numbers in string.
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
