You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串中移除奇数出现位置的逗号方法

移除Python字符串中奇数位置逗号的解决办法

方法一:分组拼接法

先把字符串按逗号拆成列表,再每两个元素一组,组内用空格连起来,组和组之间用原格式的,连接,最后拼出结果:

strng = '1.345 , 2.341 , 7.981 , 11.212 , 14.873 , 7.121...'
parts = strng.split(',')
# 两两分组处理,每组内去掉前后空格后用两个空格连接
groups = [f'{parts[i].strip()}  {parts[i+1].strip()}' for i in range(0, len(parts)-1, 2)]
# 要是最后剩单个元素,直接加进去
if len(parts) % 2 != 0:
    groups.append(parts[-1].strip())
# 组之间用原逗号格式连接
result = ' , '.join(groups)
print(result)

运行后就能得到目标字符串:1.345 2.341 , 7.981 11.212 , 14.873 7.121...

方法二:正则计数替换法

用re.sub配合自定义函数,给每个匹配到的逗号计数,奇数位置的换成空格,偶数位置的保留原格式:

import re

strng = '1.345 , 2.341 , 7.981 , 11.212 , 14.873 , 7.121...'
count = 0

def replace_func(match):
    global count
    count += 1
    # 第1、3、5...次匹配到的逗号替换成两个空格
    return '  ' if count % 2 == 1 else match.group(0)

result = re.sub(r' , ', replace_func, strng)
print(result)

这个方法会逐个处理每个,,精准区分奇偶位置,完美匹配需求。

为啥不能直接用replace?

你说的没错,str.replace()是批量替换所有目标字符,没法区分出现的位置,所以必须用这种能逐个处理、计数的方式。

内容的提问来源于stack exchange,提问作者Reut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:01:07