根据“,”拆分字符串,这些字符串不包含在带引号的字符串

时间:2017-11-28 10:10:43

标签: python regex string split

我是一名Python开发人员,如果不编写一套非常丑陋的规则,就会如何实现以下目标。

我有一个字符串列表,我想用“,”分隔列表中的每个字符串,以实现字符串列表的列表。

问题是其中一个“列”包含明文代码,用双引号“”分隔。我想在用逗号分割时用双引号分隔的字符串中忽略“,”。

即。 (请注意,我在双引号中使用了转义引号,因此Python不会将此识别为字符串分隔引号,这会使下面的字符串格式无效)

'This,is,an,""example, but I am not sure how to do it""'

应分成

[ 'This', 'is', 'an', '""example, but I am not sure how to do it""' ]

如果我天真地这样做,即只是用逗号分割,我会得到

[ 'This', 'is', 'an', '""example', 'but I am not sure how to do it""' ]

此外,csv包含固定数量的列,因此我可以轻松编写标识双引号的规则,然后根据双引号子字符串前后的逗号分割字符串,但有更好的方法吗?

这对正则表达式来说真的很酷,但我不知道如何做到这一点。有没有办法将正则表达式传递给python中字符串对象的“.split(...)”函数,告诉它将整个正则表达式视为单个对象,而不是根据相同的方法解析该子字符串规则?

'This,is,a,""test, because I don't know how to do it""'

分裂为

[ 'This', 'is', 'a', <Python string object> ]

指向字符串'“”测试的指针在哪里,因为我不知道如何在内存中执行“?”?

0 个答案:

没有答案