Lua中用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 list = Split("abc,123,345", ",")

然后list里面就是

abc
123
345

了。第二个参数可以是多个字符,但是不能是Lua正则表达式。例如. ,或者 %w 之类的。

增强版等以后再放出来吧,这个应该大部分够用了。


你可能感兴趣的:(lua)