function spiltStringByFlag(str,cFlag)
local splitStr = {}
while true do
local a, b = string.find(str,cFlag)
if a == nil then
if string.len(str) ~= 0 then
table.insert(splitStr,str)
end
break
end
table.insert(splitStr,string.sub(str,1,a-1))
str = string.sub(str, b + 1, -1)
end
return splitStr
end
function getLuaValueList(str)
local firstT = spiltStringByFlag(str, ";")
local ret = {}
for _, v in pairs(firstT) do
local tmp = spiltStringByFlag(v, "=")
if #tmp == 2 then
ret[tmp[1]] = tmp[2]
end
end
return ret
end
代码调用:
local str = "a=1;b=2;c=3;"
local rettable = getLuaValueList(str)
for k, v in pairs(rettable) do
print(k .. " " .. v)
end
结果输出:
b 2
a 1
c 3