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

时间:2022-06-01 18:48:56
// 用指定字符或字符串分割输入字符串,返回包含分割结果的数组

// @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

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

 https://blog.csdn.net/heyuchang666/article/details/52403087