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

Python如何将数字字符串按每三位用点分隔?

实现按3字符分段并用点连接的方法

嘿,我懂你想要的效果了——把长字符串按每3个字符为一组拆分,再用点连接起来,而不是每个字符都单独拆分。这里有两种实用的方法可以轻松实现:

方法一:使用字符串切片(直观易懂)

这是最直接的方式,通过循环按固定步长截取子串:

test = "123456789123"
# 从索引0开始,每次跳3个位置,截取3字符的子串
segments = [test[i:i+3] for i in range(0, len(test), 3)]
result = ".".join(segments)
print(result)  # 输出: 123.456.789.123

这个方法的好处是逻辑清晰,哪怕字符串长度不是3的倍数(比如"1234567"),也会自动处理最后一段不足3个字符的情况,输出"123.456.7",完全符合预期逻辑。

方法二:使用正则表达式(简洁高效)

如果你熟悉正则,用re.sub可以一行搞定:

import re

test = "123456789123"
# 匹配每3个数字,且后面还有数字的情况,在后面加点
result = re.sub(r'(\d{3})(?=\d)', r'\1.', test)
print(result)  # 输出: 123.456.789.123

这里的正则逻辑是:(\d{3})捕获连续3个数字,(?=\d)是正向预查,确保这3个数字后面还有其他数字(避免最后一组后面加多余的点),然后用\1.替换,把捕获的3个数字和点拼接起来,完美实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:17:31