lua 字符串分割_使用lua实现split字符串分隔

本文介绍了在Lua中如何实现字符串分割功能,因为Lua本身不内置这个功能,所以作者提供了自定义的Split函数。Lua是一种小巧、快速的脚本语言,常用于嵌入式应用,其简洁的代码和高效的执行速度使其成为理想的选择。Split函数的代码和用法也在文中给出。
摘要由CSDN通过智能技术生成

LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函数,与是就自己写了一个,记录在此,以备使用.

下面在简单介绍下lua:

Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。

Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。

一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

复制代码 代码如下:

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值