functionmysplit(inputstr, sep)if sep == nil then
sep = "%s"endlocal t={} ; i=1for str instring.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str
i = i + 1endreturn t
end
方法2:
functionsplit(pString, pPattern)local Table = {} -- NOTE: use {n = 0} in Lua-5.0local fpat = "(.-)" .. pPatternlocal last_end = 1local s, e, cap = pString:find(fpat, 1)
while s doif s ~= 1or cap ~= ""then
table.insert(Table,cap)
end
last_end = e+1
s, e, cap = pString:find(fpat, last_end)
endif last_end <= #pString then
cap = pString:sub(last_end)
table.insert(Table, cap)
endreturn Table
end
测试:
list=mysplit("1:2:3:4",":");
for k,v inipairs(list) doprint(v);
end
list=split("10:11:12:13",":");
for k,v inipairs(list) doprint(v);
end