Lua 单步将字符串拆分为二维数组
Lua split string into 2d array in single step
我有以下字符串
abc=1.2;bcd=2.4;xyz=10.9
我想拆分成下面的table
{ {"abc", "1.2}, {"bcd", "2.4"}, {"xyz", "10.9"} }
我目前正在这样做,首先按 ;
拆分字符串,然后按 =
。
在 PHP 中,我可以使用以下 preg_match
模式一步完成,无需迭代。是否可以在 Lua 中执行此操作?
preg_match_all("/(?:([a-z]+)=([0-9.]+)(?:;|$))/", $a, $match, PREG_SET_ORDER);
试试这个:
s="abc=1.2;bcd=2.4;xyz=10.9"
s=s..";"
t={}
for k,v in s:gmatch("(.-)=(.-);") do
t[#t+1]={k,v}
end
我有以下字符串
abc=1.2;bcd=2.4;xyz=10.9
我想拆分成下面的table
{ {"abc", "1.2}, {"bcd", "2.4"}, {"xyz", "10.9"} }
我目前正在这样做,首先按 ;
拆分字符串,然后按 =
。
在 PHP 中,我可以使用以下 preg_match
模式一步完成,无需迭代。是否可以在 Lua 中执行此操作?
preg_match_all("/(?:([a-z]+)=([0-9.]+)(?:;|$))/", $a, $match, PREG_SET_ORDER);
试试这个:
s="abc=1.2;bcd=2.4;xyz=10.9"
s=s..";"
t={}
for k,v in s:gmatch("(.-)=(.-);") do
t[#t+1]={k,v}
end