Lua实现字符串分割函数
-- 支持空字符串
function split(str, split_char)
if(str==nil) then
return nil
end
local sub_str_tab = {}
while true do
local pos = string.find(str, split_char)
if not pos then
table.insert(sub_str_tab,str)
break
end
local sub_str = string.sub(str, 1, pos - 1)
table.insert(sub_str_tab,sub_str)
str = string.sub(str, pos + 1, string.len(str))
end
return sub_str_tab
end
table=split('xiaomi,,dadou,huanggua', ",")
for i, value in ipairs(table) do
print(value)
end
-- 返回 xiaomi 空格 dadou huanggua
-- 分割字符串,过滤掉空字符串
function split2(str,reps)
local resultStrList = {}
if(str==nil or reps==nil ) then
return resultStrList
end
string.gsub(str,'[^'..reps..']+',function (w)
table.insert(resultStrList,w)
end)
return resultStrList
end
table=split2('xiaomi,,dadou,huanggua', ",")
for i, value in ipairs(table) do
print(value)
end
-- 返回 xiaomi dadou huanggua