Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 27: | Regel 27: | ||
function p.main( frame ) | function p.main( frame ) | ||
if str == nil then | |||
return "" | |||
end | |||
local str = mw.text.unstrip( frame.args[1] ) | local str = mw.text.unstrip( frame.args[1] ) | ||
local padlength = mw.text.unstrip( frame.args[2] ) | if frame.args[2] == nil then | ||
local padlength = 5 | |||
else | |||
local padlength = mw.text.unstrip( frame.args[2] ) | |||
end | end | ||
local res = string.gsub( | local res = string.gsub( | ||
str, | str, | ||
Versie van 10 aug 2023 13:23
Module:Pad numbers
Summary
Pad numbers in string.
--[[
Method for replacing numerical sequences in string with zero-padded equivalents
]]--
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
--[[
Not currently used
]]--
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 )
if str == nil then
return ""
end
local str = mw.text.unstrip( frame.args[1] )
if frame.args[2] == nil then
local padlength = 5
else
local padlength = mw.text.unstrip( frame.args[2] )
end
local res = string.gsub(
str,
"(%d+)",
function(d) return p.padleft( d, padlength, '0' ) end
)
return res
end
return p
