使用lua实现split字符串分隔

 更新时间:2014年11月03日 15:43:04   投稿:hebedich  
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。

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 

相关文章

  • 详解Lua中的if语句的使用方法

    详解Lua中的if语句的使用方法

    这篇文章主要介绍了详解Lua中的if语句的使用方法,是Lua入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 使用Lua编写Web端模板引擎的实例代码分享

    使用Lua编写Web端模板引擎的实例代码分享

    这里我们给出一个使用Lua编写Web端模板引擎的实例代码分享,力求简洁(核心代码约为70行),仅实现最基本的模板功能:
    2016-06-06
  • Lua教程(十四):字符串库详解

    Lua教程(十四):字符串库详解

    这篇文章主要介绍了Lua教程(十四):字符串库详解,本文讲解了基础字符串函数、模式匹配函数、模式、捕获(capture):、替换等内容,需要的朋友可以参考下
    2015-04-04
  • Lua编程中的一些基本语法整理

    Lua编程中的一些基本语法整理

    这篇文章主要介绍了Lua编程中的一些基本语法整理的相关资料,是Lua入门中最基础的知识,需要的朋友可以参考下
    2015-05-05
  • C调用lua函数需要考虑的问题

    C调用lua函数需要考虑的问题

    这篇文章主要介绍了C调用lua函数需要考虑的问题,本文罗列了4条需要注意的问题,并给出了调用实例,需要的朋友可以参考下
    2015-04-04
  • Lua教程(十九):C调用Lua

    Lua教程(十九):C调用Lua

    这篇文章主要介绍了Lua教程(十九):C调用Lua,本文讲解了C调用Lua基础知识、table操作、调用Lua函数等内容,需要的朋友可以参考下
    2015-04-04
  • Lua教程(二十):Lua调用C函数

    Lua教程(二十):Lua调用C函数

    这篇文章主要介绍了Lua教程(二十):Lua调用C函数,本文讲解了C函数作为应用程序的一部分、C函数库成为Lua的模块等内容,需要的朋友可以参考下
    2015-04-04
  • Lua编程示例(二):面向对象、metatable对表进行扩展

    Lua编程示例(二):面向对象、metatable对表进行扩展

    这篇文章主要介绍了Lua编程示例(二):面向对象、metatable对表进行扩展,本文直接给出实例代码,需要的朋友可以参考下
    2015-07-07
  • Lua中的迭代器浅析

    Lua中的迭代器浅析

    这篇文章主要介绍了Lua中的迭代器浅析,本文先是讲解了什么是迭代器,然后给出了自己写一个迭代器的示例,最后介绍了迭代器的调用方法,需要的朋友可以参考下
    2014-09-09
  • Lua协同程序函数coroutine使用实例

    Lua协同程序函数coroutine使用实例

    这篇文章主要介绍了Lua协同程序函数coroutine使用实例,协程是协同程序的简称,顾名思义,就是协同工作的程序,需要的朋友可以参考下
    2014-09-09

最新评论