正如我在评论中所说,您可以在多个分隔符处拆分。逗号在引号和外部都有一个,但我们可以在
",
(添加了一个空格,这样我们就不必删除它;)
然后我们加上缺少的报价:
original = '"BLAX", "BLAY", "BLAZ, BLUBB", "BLAP"'
[s if s.endswith('"') else s+'"' for s in original.split('", ')]
输出:
['"BLAX"', '"BLAY"', '"BLAZ, BLUBB"', '"BLAP"']
这种方法不使用正则表达式,因此速度更快。你也不需要玩什么正则表达式适合你的情况(我一般喜欢正则表达式,但我更喜欢智能拆分和操作)。