- local function split(str, d) --str是需要查分的对象 d是分界符
- local lst = { }
- local n = string.len(str)--长度
- local start = 1
- while start <= n do
- local i = string.find(str, d, start) -- find 'next' 0
- if i == nil then
- table.insert(lst, string.sub(str, start, n))
- break
- end
- table.insert(lst, string.sub(str, start, i-1))
- if i == n then
- table.insert(lst, "")
- break
- end
- start = i + 1
- end
- return lst
- end
另一种:用指定字符或字符串分割输入字符串,返回包含分割结果的数组:
from: http://blog.csdn.net/heyuchang666/article/details/51700017
- function string.split(input, delimiter)
- input = tostring(input)
- delimiter = tostring(delimiter)
- if (delimiter=='') then return false end
- local pos,arr = 0, {}
- -- for each divider found
- for st,sp in function() return string.find(input, delimiter, pos, true) end do
- table.insert(arr, string.sub(input, pos, st - 1))
- pos = sp + 1
- end
- table.insert(arr, string.sub(input, pos))
- return arr
- end