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