将字符串转换为实际表格

local t = "{{2173,1},{2160,5}}"
print(#t) -- 19?? 错误

如何转换为出现的数字?

local t = {{2173,1},{2160,5}}
print(#t) -- 2 正确
点赞
用户1442917
用户1442917

你可以通过 load 或者 loadstring(根据你的 Lua 版本而定)运行这个字符串,会返回你所需要的表:

local t = "{{2173,1},{2160,5}}"
t = (loadstring or load)("return "..t)()
print(#t) -- 2
2017-03-10 06:17:09
用户107090
用户107090

以下是针对您提供的输入的特定解决方案:

local s = "{{2173,1},{2160,5}}"
local t = {}
local n = 0
for a,b in s:gmatch("(%d+),(%d+)") do
        n = n + 1
        t[n] = {a,b}
end
for k,v in ipairs(t) do print(k,v[1],v[2]) end
2017-03-10 09:38:34