gpt4 book ai didi

python - 以上下文相关的方式通过分隔符分割字符串

转载 作者:行者123 更新时间:2023-11-28 21:30:54 24 4
gpt4 key购买 nike

比如我要拆分

str = '"a,b,c",d,e,f'

进入

["a,b,c",'d','e','f']

(即不要拆分引用的部分)在这种情况下,可以使用

来完成
re.findall('".*?"|[^,]+',str)

但是,如果

str = '"a,,b,c",d,,f'

我想要

["a,,b,c",'d','','f']

即我想要一个类似于 python 的 split 函数的行为。有什么方法可以用一行(小)行来完成此操作,可能使用Python的re库?

实际上,我刚刚意识到(在这个网站上)csv 模块非常适合我想做的事情,但我很好奇是否有一个正则表达式可以用来完成它。

最佳答案

re.split(',(?=(?:[^"]*"[^"]*")*[^"]*$)', str)

匹配一个逗号后,如果前面有奇数个引号,则该逗号必须在一对引号内,所以不算分隔符。显然,这没有考虑转义引号的可能性,但如果需要的话可以处理——它只会使正则表达式变得丑陋两倍。 :D

关于python - 以上下文相关的方式通过分隔符分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com