您的位置:首页 > 编程语言 > Lua

Lua 特定字符截取字符串

2017-08-08 22:01 495 查看
记录下工作中用到Lua的一个简单功能需求:

如下字符串:"aa,bb;cc,dd;ee,ff;gg,hh;"

转成:{"aa" = bb, "cc" == dd, "ee" == ff, "gg" == hh}表形式。

function combination(sourcestr)

if not sourcestr or sourcestr == "" then

print("特定字符串转成指定表出错!")

return

end

local outsplitchar = ";"

local innersplit = ","

local function inner_get_table_from_split_string(src, splitchar)

local splitlist = {}

string.gsub(src, '[^' .. splitchar ..']+', function(value) table.insert(splitlist, value) end)

return splitlist

end

local out_tbl = inner_get_table_from_split_string(sourcestr, outsplitchar)

local tmp={}

for _, value in pairs(out_tbl) do

local tmp_tbl = inner_get_table_from_split_string(value, innersplit)

local inner_tbl = {}

inner_tbl["" .. tmp_tbl[1]] = tonumber(tmp_tbl[2])

tmp[#tmp + 1] = inner_tbl

end

local final_tbl = {}

for k, v in pairs(tmp) do

final_tbl[table.keys(v)[1]] = table.values(v)[1]

end

return final_tbl

end这里的分号和逗号我直接写在了方法里,你也可以用参数的形式传入,这样就比较灵活,当然特定字符串也不限于分号和逗号……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: