Difference between revisions of "Module:String"
Jump to navigation
Jump to search
what>Tim Starling (have sub return more than one character (broken by ID 538979768)) |
what>Anomie (+ substr variant that takes a length instead of an ending position) |
||
Line 7: | Line 7: | ||
function str.sub( frame ) | function str.sub( frame ) | ||
return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) | return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) | ||
+ | end | ||
+ | |||
+ | function str.sublength( frame ) | ||
+ | local i = tonumber( frame.args.i ) or 1 | ||
+ | local len = tonumber( frame.args.len ) | ||
+ | return mw.ustring.sub( frame.args.s, i, len and ( i + len - 1 ) ) | ||
end | end | ||
Revision as of 01:49, 21 February 2013
local str = {}
function str.len( frame )
return mw.ustring.len( frame.args.s )
end
function str.sub( frame )
return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) )
end
function str.sublength( frame )
local i = tonumber( frame.args.i ) or 1 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i, len and ( i + len - 1 ) )
end
function str.match( frame )
return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) )
end
return str