[寒江孤叶丶的Cocos2d-x之旅_20]Lua字符串分割函数分享,Lua StringSplit

博主分享了自己为工作封装的Lua字符串分割函数,旨在方便日后使用,并希望对其他开发者有所帮助。文章提供了函数的详细说明及测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的CrossApp之旅系列]

博客地址:http://blog.youkuaiyun.com/qq446569365

工作需要自己封装了一个lua的字符串分割函数。为了方便自己以后使用。保存在这里。希望对其他开发者也有一些帮助吧……

---------------------------
-- @function StringSplit lua字符串分割函数  
-- @param str 待分割的字符串
-- @param splitStr 用于分割字符串
-- @param addNemptyStr 是否将空字符串也放入返回字串表中(默认false,可空)
-- @param addSplitStrInTable 是否将分割用的字符串加入数组(默认false,可空)
-- @return 分割后字符串Table
-- Create by ArcherPeng
function StringSplit(str, splitStr,addNemptyStr,addSplitStrInTable)
    if not addNemptyStr then addNemptyStr = false end
    if not addSplitStrInTable then addSplitStrInTable = false end
    local subStrTab = {};
    while (true) do
        local pos = string.find(str, splitStr);
        if (not pos)  then
            if str ~="" or addNemptyStr then
                subStrTab[#subStrTab + 1] = str;
            end
            break;
        end
        local subStr = string.sub(str, 1, pos - 1);
        if subStr~="" or addNemptyStr then
            subStrTab[#subStrTab + 1] = subStr;
        end
        if addSplitStrInTable then
            subStrTab[#subStrTab + 1] = splitStr;
        end
        str = string.sub(str, pos +string.len(splitStr) , #str);
    end
    return subStrTab;
end

--test
print("---------")
local strTab=StringSplit("1233333456","33")
for index = 1,#strTab do
    print(strTab[index])
end
print("---------")
strTab=StringSplit("1233333456","33",true)
for index = 1,#strTab do
    print(strTab[index])
end
print("---------")
strTab=StringSplit("1233333456","33",true,true)
for index = 1,#strTab do
    print(strTab[index])
end
print("---------")
strTab=StringSplit("1233333456","33",fasle,true)
for index = 1,#strTab do
    print(strTab[index])
end
print("---------")



运行结果:

---------
12
3456
---------
12

3456
---------
12
33

33
3456
---------
12
33
33
3456
---------<span style="font-size:18px;">
</span>

另外推荐一个在线测试lua代码的网站:

http://www.lua.org/cgi-bin/demo

这样测试一些简单的函数时候就不用创建一个工程了………………(电脑上装了lua环境的请无视)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值