Jump to navigation
Jump to search
Notmyhandle (talk | contribs) (added local p) |
Notmyhandle (talk | contribs) (added necessary syntax to make the function a child of p) |
||
Line 3: | Line 3: | ||
]]-- | ]]-- | ||
local p = {} | local p = {} | ||
function explode(div,str) -- credit: http://richard.warburton.it | |||
function p.explode(div,str) -- credit: http://richard.warburton.it | |||
if (div=='') then return false end | if (div=='') then return false end | ||
local pos,arr = 0,{} | local pos,arr = 0,{} | ||
Line 13: | Line 15: | ||
table.insert(arr,string.sub(str,pos)) -- Attach chars right of last divider | table.insert(arr,string.sub(str,pos)) -- Attach chars right of last divider | ||
return arr | return arr | ||
end | end | ||
return p | return p |
Revision as of 00:56, 27 July 2014
Documentation for this module may be created at Module:Explode/Documentation
--[[
This module is used to explode a passed string into parts. First parameter is the divider string to divide the string at. The second parameter is the string.
]]--
local p = {}
function p.explode(div,str) -- credit: http://richard.warburton.it
if (div=='') then return false end
local pos,arr = 0,{}
-- for each divider found
for st,sp in function() return string.find(str,div,pos,true) end do
table.insert(arr,string.sub(str,pos,st-1)) -- Attach chars left of current divider
pos = sp + 1 -- Jump past current divider
end
table.insert(arr,string.sub(str,pos)) -- Attach chars right of last divider
return arr
end
return p