String exploding
This function adds the ability to explode strings in Lua.
function string.explode(str, div) assert(type(str) == "string" and type(div) == "string", "invalid arguments") local o = {} while true do local pos1,pos2 = str:find(div) if not pos1 then o[#o+1] = str break end o[#o+1],str = str:sub(1,pos1-1),str:sub(pos2+1) end return o end
Have an example:
tbl = string.explode("foo bar", " ") print(tbl[1]) --> foo -- since we added explode to the string table, we can also do this: str = "foo bar" tbl2 = str:explode(" ") print(tbl2[2]) --> bar -- to restore the original string, we can use Lua's table.concat: original = table.concat(tbl, " ") print(original) --> foo bar