Lua中用Split函数分割字符串


  1. function Split(szFullString, szSeparator)  
  2. local nFindStartIndex = 1  
  3. local nSplitIndex = 1  
  4. local nSplitArray = {}  
  5. while true do  
  6.    local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)  
  7.    if not nFindLastIndex then  
  8.     nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))  
  9.     break  
  10.    end  
  11.    nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)  
  12.    nFindStartIndex = nFindLastIndex + string.len(szSeparator)  
  13.    nSplitIndex = nSplitIndex + 1  
  14. end  
  15. return nSplitArray  
  16. end  

用法:

local list = Split("abc,123,345", ",")

然后list里面就是

abc
123
345

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

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

相关内容