function string.split(s, delimiter, limit)
limit = limit or math.maxinteger
local res = {}
local pos = 0;
for vstart, vend in function() return string.find(s, delimiter, pos, true) end do
if #res >= limit then return res end
table.insert(res, s.sub(s, pos, vstart - 1))
pos = vend + 1
end
if #res >= limit then return end
table.insert(res, s.sub(s, pos))
return res
end
local res = string.split("a,c,d,edfaf,gawer", ",", 3)
for _, v in ipairs(res) do
print(v)
end
这个方法比较复杂,没有做比较充分的测试,如果有错误的请及时指出,谢谢。