Lua自己实现string.split功能

来源:互联网 发布:谷歌浏览器 for mac 编辑:程序博客网 时间:2024/04/30 04:10

local function split(str, d) --str是需要查分的对象 d是分界符local lst = { }local n = string.len(str)--长度local start = 1while start <= n dolocal i = string.find(str, d, start) -- find 'next' 0if i == nil then table.insert(lst, string.sub(str, start, n))break endtable.insert(lst, string.sub(str, start, i-1))if i == n thentable.insert(lst, "")breakendstart = i + 1endreturn lstend

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

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 arrend



0 0
原创粉丝点击