lua语言字符串转table

2021-07-27  本文已影响0人  我和我的火柴

最近在用lua语言写一个工具,遇见了一个问题,获取到了str="1,2,3,4,5 " 这样的 字符串 ,想要将str转换成table进行处理,以下代码就可以实现,type(list) is table

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 之类的。

上一篇下一篇

猜你喜欢

热点阅读