Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 20: | Regel 20: | ||
function p.main( frame ) | function p.main( frame ) | ||
str = mw.text.unstrip(frame.args[1]) | str = mw.text.unstrip(frame.args[1]) or mw.text.unstrip(frame.str) | ||
padlength = mw.text.unstrip(frame.args[2]) | padlength = mw.text.unstrip(frame.args[2]) or mw.text.unstrip(frame.padlength) | ||
regpattern = "!\d+!" | regpattern = "!\d+!" | ||
matches = string.match( str, regpattern ) | matches = string.match( str, regpattern ) | ||
for k, v in matches[0] do | 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 | end | ||
-- | -- | ||
Versie van 10 aug 2023 09:04
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 )
str = mw.text.unstrip(frame.args[1]) or mw.text.unstrip(frame.str)
padlength = mw.text.unstrip(frame.args[2]) or mw.text.unstrip(frame.padlength)
regpattern = "!\d+!"
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
