给定一个正整数字符串,使用Python正则表达式在其千分位上添加逗号

大家好,我是皮皮。

一、前言

前几天在Python黄金青铜群【沐】问了一个Python正则表达式的问题,这里拿出来给大家分享下。

题目:给定一个正整数字符串,如 12345678、 345678,使用正则表达式在其千分位上添加逗号,如 12,345,678、345,678。

二、实现过程

这里ChatGPT给了一个答案,可以使用正则表达式和字符串替换来实现在千分位上添加逗号的操作。

假设输入的正整数字符串为 num_str,可以使用以下正则表达式进行匹配:

(\d)(?=(\d{3})+$)

该正则表达式会匹配任何一个数字,如果它后面跟着一组连续的三个数字,直到字符串结尾。也就是说,这个正则表达式能够匹配所有需要添加逗号的位置。

然后,我们可以使用字符串替换函数将逗号插入到匹配位置的后面,实现在千分位上添加逗号的操作。可以使用 Python 的 re.sub 函数来实现这个功能,示例如下:

import re

num_str = "12345678"

formatted_num_str = re.sub(r'(\d)(?=(\d{3})+$)', r'\1,', num_str)

print(formatted_num_str)  # 输出: 12,345,678

更多关于 Python 正则表达式的介绍和用法可以参考官方文档:re — Regular expression operations。

image.png

顺利地解决了粉丝的问题。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python正则表达式的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【沐】提问,感谢【ChatGPT】给出的思路和代码解析,感谢【eric】等人参与学习交流。

posted @ 2023-04-23 12:50  dcpeng  阅读(49)  评论(0编辑  收藏  举报