当前位置: 首页 > 编程笔记 >

使用lua实现split字符串分隔

陆伟
2023-03-14
本文向大家介绍使用lua实现split字符串分隔,包括了使用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是作为嵌入式脚本的最佳选择。


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  

 类似资料:
  • 问题内容: 我有类似的字符串,我需要将它们按字符分开,然后将两个部分分别分配给一个变量。在Ruby中,我会这样做: 显然,Lua没有这么简单的方法。经过一番挖掘,我找不到一种简短的方法来实现自己的目标。我提到我是Lua的一个新手,我需要在Redis的脚本中使用它(因此,它确实应该很小,如果可能的话,只写一个)。 问题答案: 使用模式匹配: 请注意,这是一个魔术字符,因此必须使用进行转义。

  • Python 中,除了可以使用一些内建函数获取字符串的相关信息外(例如 len() 函数获取字符串长度),字符串类型本身也拥有一些方法供我们使用。 注意,这里所说的方法,指的是字符串类型 str 本身所提供的,由于涉及到类和对象的知识,初学者不必深究,只需要知道方法的具体用法即可。 从本节开始,将给大家介绍一些常用的字符串类型方法,本节先介绍分割字符串的 split() 方法。 split() 方

  • 问题内容: Java官方文档指出: 它打印: 这与我的预期相去甚远: 为什么会这样呢? 问题答案: 你需要 使用正则表达式,并且在中 |是表示OR运算符的元字符。你需要使用来转义该字符\(使用String编写,因为它也是String文字中的元字符,并且需要另一个字符来对其进行转义)。 你也可以使用 并创建代表的正则表达式的转义版本|。

  • 主要内容:实例,字符串操作,实例,实例,实例,实例,实例,实例,实例,实例字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [[ 与 ]] 间的一串字符。 以上三种方式的字符串实例如下: 实例 string1 = "Lua" print ( "\"字符串 1 是\"" ,string1 ) string2 = 'xnip.cn' print ( "字符串 2 是

  • 字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [[和]]间的一串字符。 以上三种方式的字符串实例如下: string1 = "Lua" print("\"字符串 1 是\"",string1) string2 = 'runoob.com' print("字符串 2 是",string

  • 我想在每个字母上使用String.prototype.split(/[a-zA-Z]/)拆分以下字符串: 结果: 但我想收到这个: