gpt4 book ai didi

python - 正则表达式每隔三个字符插入一个空格,行尾除外

转载 作者:行者123 更新时间:2023-12-01 04:26:51 25 4
gpt4 key购买 nike

假设我想在字符串中的每三个字符后面插入一个空格(最后一个字符除外)。

这就是我走了多远:

re.sub('(.{3})','\\1 ',i)

但是对于 len(i)%3=0 的情况,我没有找到一种优雅的方法来跳过最后一次插入。

有什么想法吗?

re.sub('(.{3})$-','\\1 ',i)

根本没有帮助。

谢谢

最佳答案

使用negative lookahead检查匹配项是否不在字符串末尾:

In [2]: s = "abcdefghi"

In [3]: re.sub(r'(.{3})(?!$)','\\1 ', s)
Out[3]: 'abc def ghi'
<小时/>

您还可以通过切片字符串并连接切片部分来继续使用非正则表达式选项:

In [4]: " ".join(s[i: i + 3] for i in range(0, len(s), 3))
Out[4]: 'abc def ghi'

关于python - 正则表达式每隔三个字符插入一个空格,行尾除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32981050/

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