Python-替换字符串中的逗号

Python-替换字符串中的逗号,python,regex,string,replace,Python,Regex,String,Replace,我有以下字符串: string=“[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[14001]、[14001]、[14001]、[14001]、[14001]。” 将字符串放入列表之后,我想删除字符串中间的4个逗号中的3个。我不想要像st

我有以下字符串:

string=“[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[14001]、[14001]、[14001]、[14001]、[14001]。”


<>将字符串放入列表之后,我想删除字符串中间的4个逗号中的3个。我不想要像string.replace(“,,,,”,“,”)这样的解决方案,因为在其他情况下,一行中有7个或7个以上的逗号,这样做不起作用。你有解决办法吗?谢谢。

您可以使用正则表达式搜索两个或多个逗号,并用一个逗号替换它们

result = re.sub(",,+", ",", string, 0, re.IGNORECASE | re.VERBOSE | re.MULTILINE)
,+

选项:不区分大小写;自由间距;点与换行符不匹配;^$分线比赛;仅限正则表达式语法

匹配字符“,”字面上的«,»

匹配字符“,”字面上的«,+»

在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)«+»


可以使用正则表达式搜索两个或多个逗号,并用一个逗号替换它们

result = re.sub(",,+", ",", string, 0, re.IGNORECASE | re.VERBOSE | re.MULTILINE)
,+

选项:不区分大小写;自由间距;点与换行符不匹配;^$分线比赛;仅限正则表达式语法

匹配字符“,”字面上的«,»

匹配字符“,”字面上的«,+»

在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)«+»


另一种方法是使用
split
join

>>> ','.join([i for i in string.split(',') if i])
'[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[14001],[14001],[14001]'

另一种方法是使用
split
join

>>> ','.join([i for i in string.split(',') if i])
'[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[14001],[14001],[14001]'