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这里的分号和逗号我直接写在了方法里,你也可以用参数的形式传入,这样就比较灵活,当然特定字符串也不限于分号和逗号……
如下字符串:"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这里的分号和逗号我直接写在了方法里,你也可以用参数的形式传入,这样就比较灵活,当然特定字符串也不限于分号和逗号……
相关文章推荐
- java截取一个字符串正数或倒数某个特定字符前后的内容
- c# 截取字符串两特定字符中间的字符
- 关于mysql根据特定字符来截取字符串的一些方法
- lua 截取字符,以及取字符个数(非字符串长度)
- lua 字符串删除特定字符且以特定字符转存表形式
- js正则截取替换特定字符之间的字符串
- JS基于正则截取替换特定字符之间字符串操作示例
- 如何按特定字符截取字符串
- c#中怎样截取两特定字符之间的字符串
- Excel 截取特定字符前的字符串
- PHP截取字符串中两个特定唯一字符之间的内容
- 截取字符串中特定字符之前的子串,并返回剩余子串
- Lua 字符串操作,截取指定字符串前后内容,lua 取指定字符左侧,或右侧内容
- C# indexof如何截取两个特定字符之间的字符串
- [置顶] java截取2个特定字符之间的字符串
- 截取字符串中特定字符
- cocos2dx-lua 快速截取指定字符数量的字符串
- lua 含中文的字符串处理--分离字符、计算字符数、截取指定长度
- c# 怎样截取两特定字符之间的字符串
- C# 以特定字符分割字符串--IP地址分割