继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕先生0340613
关注TA
已关注
手记 411
粉丝 23
获赞 119

大家好,我是皮皮。

一、前言

前几天在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】等人参与学习交流。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP