美文网首页
关于lua的split功能

关于lua的split功能

作者: Smarttang | 来源:发表于2016-08-29 15:47 被阅读709次

    0x01 我爱的切割


    切割字符串的功能在开发中很常见,基本上都会用到。在c里面没有这个功能,需要自己的撸出来。这让习惯了python或者perl的小伙伴很蛋疼。由于目前项目基于c开发,用到split的功能,而且实际上用c实现很麻烦,正好混lua开发,所以想用lua实现。

    0x02 coding


    说干就干,必须要以码会友。

    #!/usr/bin/lua
    
    common = {}
    
    -- 切割函数(split功能)
    -- szFullString 待切割数据
    -- szSeparator 切割判断
    function common.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
    
    return common
    

    由于我比较懒,所以默认我都是做封装的,比如封装成一个包,在lua上,你可以放在package里面,然后根据自己需要引入lua的包。

    0x03 后记


    大家都说c+lua混合性能很高,但是实际上高到什么程度我还没真心体会出来,可能比较菜鸟。还在努力中。。。在搞split的时候,就发现好多案例,最后能用的就这个。。。好吧~

    相关文章

      网友评论

          本文标题:关于lua的split功能

          本文链接:https://www.haomeiwen.com/subject/gqnxettx.html