2013-05-02 93 views
1

在Lua中的表,有沒有什麼辦法來此字符串分割:轉換格式化字符串表

etc3=1336,etc2=14477,etc4=1335,etc1=1337 

這個表?

tbl = { 
    { 'etc3', 1336 }, 
    { 'etc2', 14477 }, 
    { 'etc4', 1335 }, 
    { 'etc1', 1337 }, 
} 

任何幫助表示讚賞。

+0

您可能需要將字符串拆分爲其子部分,請查看[SplitJoin](http://lua-users.org/wiki/SplitJoin)。 – jbr 2013-05-02 09:17:52

+0

看起來像有效的Lua語法 - 你可以['loadstring()'](http://www.lua.org/manual/5.1/manual.html#pdf-loadstring)它。在安全的環境中,如果你不信任源代碼。 – dualed 2013-05-03 02:39:21

回答

6
local str = 'etc3=1336,etc2=14477,etc4=1335,etc1=1337' 
local tbl = {} 
for k, v in str:gmatch'(%w+)=(%d+)' do 
    tbl[#tbl+1] = {k, tonumber(v)} 
end