处理包含空字符串的字符串列表

我已将以下表达式实现到我的脚本中,以分解作为字符串接收的列表:

result = "65,TESTDB,;65,TESTDB2,"

local breakDown={}
for str in result:gmatch("([^,;]+)") do table.insert(breakDown, str) end

 print(breakDown[1])
 print(breakDown[4])

然而,在上面的示例中,两个字段输入为空(第三个和第六个位置)。

基本上,我希望breakDown [4]打印65,但目前会打印TESTDB2

我知道我可以通过;拆分为两个列表,然后选择每个列表中的第一个数字,这对我的应用程序有效。

我只是想知道是否有更简洁的方法来完成,尤其是如果有许多列表(通过;分隔)的集合的情况。

点赞
用户11544408
用户11544408

感谢 @Egor 提供以下回答:

对于(“;”..结果):gmatch“ [,;]([^,;] *)”做
2019-08-07 11:57:31