cocos2dx-Lua分割字符串

2023-03-22 15:53:43 浏览数 (2)

(adsbygoogle = window.adsbygoogle || []).push({});

我们在使用cocos2dx开发过程中经常会使用指定分隔符来分割字符串,并返回包含分割结果的数组,这里就介绍一种比较常用的方法

代码语言:javascript复制
--------------------------------
-- 用指定字符或字符串分割输入字符串,返回包含分割结果的数组
-- @function [parent=#string] split
-- @param string input 输入字符串
-- @param string delimiter 分割标记字符或字符串
-- @return array#array  包含分割结果的数组

--[[--

用指定字符或字符串分割输入字符串,返回包含分割结果的数组

local input = "Hello,World"
local res = string.split(input, ",")
-- res = {"Hello", "World"}

local input = "Hello- -World- -Quick"
local res = string.split(input, "- -")
-- res = {"Hello", "World", "Quick"}
]]

function string.split(input, delimiter)
    input = tostring(input)
    delimiter = tostring(delimiter)
    if (delimiter == '') then return false end
    local pos, arr = 0, {}
    -- for each divider found
    for st, sp in function() return string.find(input, delimiter, pos, true) end do
        table.insert(arr, string.sub(input, pos, st - 1))
        pos = sp   1
    end
    table.insert(arr, string.sub(input, pos))
    return arr
end

0 人点赞