我有以下字符串:
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]"
为了稍后将字符串放入列表中,我想删除字符串中间的4个逗号中的3个。我不想要像 string.replace(" ,,,,",",") 因为在其他情况下连续有7个或更多的逗号,然后这不起作用。你有解决方案吗?感谢。
答案 0 :(得分:1)
您可以使用正则表达式搜索两个或多个逗号,并用一个逗号替换它们。
result = re.sub(",,+", ",", string, 0, re.IGNORECASE | re.VERBOSE | re.MULTILINE)
,, +
选项:不区分大小写;自由空间;点不符合换行符; ^ $匹配换行符;仅限正则表达式语法
匹配字符“,”字面意思«,»
匹配字符“,”字面意思«,+»
在一次和无限次之间,尽可能多次,根据需要回馈(贪婪)«+»
答案 1 :(得分:0)
替代方式,使用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]'