FANDOM


--
-- String functions
--
-- Replacements for [[mw:Extension:StringFunctions]]
-- which is technically part of ParserFunctions, but only documented at the above link
--
 
-- functions for use through #invoke or in templates
-- largely just wrappers for q, although some extremely simple functions are exclusive to p
local p = {}
 
-- all these functions can be accessed through p's wrappers
-- except when they return something that isn't a string
--
-- when this module is used in other modules
-- you can call p.module() which will allow direct access to q and
-- skip all the overhead of messing with the frame
local q = {}
 
local getArgs = require( 'Module:Arguments' ).getArgs
 
--
-- Returns the length of a string
--
function p.length( str )
    return mw.ustring.len( str )
end
 
--
-- Returns the position of a given search term in a string
--
function q.pos( str, search )
 
end
 
function p.pos( frame )
    return q.pos( str, search )
end
 
--
-- Returns the last position of a given search term in a string
--
function q.rpos( str, search )
 
end
 
function p.rpos( frame )
    return q.rpos( str, search )
end
 
--
-- Returns a substring from a given string
--
function q.sub( str, start, len )
 
end
 
function p.sub( frame )
    return q.sub( str, start, len )
end
 
--
-- Returns a given string extended to a given length
--
function q.pad( str, len, padstr, dir )
 
end
 
function p.pad( frame )
    return q.pad( str, len, padstr, dir )
end
 
--
-- Returns a given string with all occurrences of a search term replaced with a replacement term
--
function q.replace( str, search, repl )
 
end
 
function p.replace( frame )
    return q.replace( str, search, repl )
end
 
--
-- Splits the given string and returns a table of the results
--
function q.split( str, delim )
    -- because this returns a table rather than a string
    -- it's not designed for use through #invoke, but for use in other modules
    -- so we don't have to mess around with the frame object for our variables
end
 
--
-- Splits the given string and returns one of the pieces
--
function q.explode( str, delim, pos )
    return q.split( str, delim )[pos]
end
 
function p.explode( frame )
    return q.explode( str, delim, pos )
end
 
--
-- Repeats a given string a given number of times
--
function q.rep( str, num )
 
end
 
function p.rep( frame )
    return q.rep( str, num )
end
 
--
-- Allows access to functions for use in 
--
function p.module()
    return q
end
 
return p

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.