(Een tussenliggende versie door dezelfde gebruiker niet weergegeven) | |||
Regel 24: | Regel 24: | ||
res = str .. string.rep( char, len - #str ) | res = str .. string.rep( char, len - #str ) | ||
return res | return res | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
p.replaceNumbers = function( str, padlength ) | p.replaceNumbers = function( str, padlength ) | ||
+ | if not str or str == "" then return "" end | ||
local res = string.gsub( | local res = string.gsub( | ||
str, | str, | ||
Regel 56: | Regel 47: | ||
end | end | ||
− | local res = replaceNumbers() | + | local res = p.replaceNumbers( str, padlength ) |
return res | return res | ||
end | end | ||
return p | return p |
Huidige versie van 10 aug 2023 om 14:38
--[[ 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