Module:String: Difference between revisions

    m>Anomie
    (+ substr variant that takes a length instead of an ending position)
    m>Anomie
    (Oh, the existing code is 0-based)
    Line 10: Line 10:


    function str.sublength( frame )
    function str.sublength( frame )
         local i = tonumber( frame.args.i ) or 1
         local i = tonumber( frame.args.i ) or 0
         local len = tonumber( frame.args.len )
         local len = tonumber( frame.args.len )
         return mw.ustring.sub( frame.args.s, i, len and ( i + len - 1 ) )
         return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )
    end
    end