2
如何将一个像s = "6.1101,17.592,3.3245\n"
这样的字符串转换为Lua中的数字。从用逗号分隔的一串数字获取数组
在Python中,我通常做
a = s.strip().split(',')
a = [float(i) for i in a]
什么是Lua中做到这一点的正确方法?
如何将一个像s = "6.1101,17.592,3.3245\n"
这样的字符串转换为Lua中的数字。从用逗号分隔的一串数字获取数组
在Python中,我通常做
a = s.strip().split(',')
a = [float(i) for i in a]
什么是Lua中做到这一点的正确方法?
这是相当平凡的;只是做一个重复的匹配:
for match in s:gmatch("([%d%.%+%-]+),?") do
output[#output + 1] = tonumber(match)
end
这当然假定数字中没有空格。
使用's:gmatch(“([^,%s] +)”)'可能更健壮,也允许空格。另一方面,这种模式将提取逗号之间的任何“单词”,而不仅仅是数字。 – lhf