项目实战字符串分割函数--lua

项目实战字符串分割函数--lua

项目实现:实现字符串制定字符分割,返回一个lua表格,可指定获取分割的数量。

字符串  str = "1-2-3-4-5-6-7"

分割效果 

strTable = {

[1] = 1,

[2] = 2,

[3] = 3,

[4] = 4,

[5] = 5,

[6] = 6,

[7] = 7,

}

function Split(str, delim, num)
    if string.find(str, delim) == nil then
        return {str}
    end
    if num == nil or num < 1 then
        num = 0
    end
    local result = {}
    local pat = "(.-)"..delim.."()"
    local nNum = 0
    local lastPos
    for part, pos in string.gfind(str, pat) do --string.gfind  返回一个迭代器,迭代器每执行一次,返回下一个匹配字符串
        nNum = nNum + 1
        result[nNum] = part
        lastPos = pos
        if nNum == num then
            break
        end
    end
    if nNum ~= num then
        result[nNum+1] = string.sub(str,lastPos)
    end
    return result
end