我有一个逗号分隔的输入字符串,需要支持空条目。所以一个类似的字符串a,b,c,,d
应该产生一个有 5 个条目的表,其中第 4 个是一个空值。
一个简化的例子
str="a,b,c,,d"
count=0
for v in string.gmatch(str, '([^,]*)') do
count = count + 1
end
print(count)
此代码输出
9
在 Lua 5.1 中,虽然只有 5 个条目。
我可以将*
正则表达式中的 更改为+
- 然后它报告 4 个条目a,b,c,d
,但不是空的。似乎这种行为已在 Lua 5.2 中修复,因为上面的代码在 lua 5.2 中运行良好,但我不得不为 lua 5.1 找到解决方案
我目前的实现
function getValues(inputString)
local result = {}
for v in string.gmatch(inputString, '([^,]*)') do
table.insert(result, v)
end
return result
end
有关如何修复的任何建议?