Pad numbers in string.
The numbers are 0000001 and 0005343
--[[
Method for replacing numerical sequences in string with zero-padded equivalents
]]--
local p = {}
p.padleft = function( str, length, char )
if char == nil
then char = '0'
end
char = '0'
res = string.rep( char, length - #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
p.replaceNumbers = function( str, padlength )
if not str or str == "" then return "" end
local res = string.gsub(
str,
"(%d+)",
function(d) return p.padleft( d, padlength, '0' ) end
)
return res
end
function p.main( frame )
if frame.args[1] == nil then
return ""
end
str = mw.text.unstrip( frame.args[1] )
if frame.args[2] == nil then
padlength = 5
else
padlength = mw.text.unstrip( frame.args[2] )
end
local res = p.replaceNumbers( str, padlength )
return res
end
return p