[转]lua中string split函数

function Split(szFullString, szSeparator)

local nFindStartIndex = 1

local nSplitIndex = 1

local nSplitArray = {}

while true do

local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)

if not nFindLastIndex then

nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))

break

end

nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)

nFindStartIndex = nFindLastIndex + string.len(szSeparator)

nSplitIndex = nSplitIndex + 1

end

return nSplitArray

end

--测试

local str = "1234,389,abc";

local list = Split(str, ",");

for i = 1, #list

do

str = string.format("index %d: value = %s", i, list[i]);

print(str);

end