源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用lua实现split字符串分隔

  • 时间:2020-01-24 01:38 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用lua实现split字符串分隔
LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函数,与是就自己写了一个,记录在此,以备使用. 下面在简单介绍下lua: Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
[u]复制代码[/u] 代码如下:
function Split(str, delim, maxNb)       -- Eliminate bad cases...       if string.find(str, delim) == nil then          return { str }      end      if maxNb == nil or maxNb < 1 then          maxNb = 0    -- No limit       end      local result = {}      local pat = "(.-)" .. delim .. "()"       local nb = 0      local lastPos       for part, pos in string.gfind(str, pat) do          nb = nb + 1          result[nb] = part           lastPos = pos           if nb == maxNb then break end      end      -- Handle the last field       if nb ~= maxNb then          result[nb + 1] = string.sub(str, lastPos)       end      return result   end 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部