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

大家好,我是皮皮。

一、前言

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

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

二、实现过程

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

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

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

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

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

1import re 2 3num_str = "12345678" 4 5formatted_num_str = re.sub(r'(\d)(?=(\d{3})+$)', r'\1,', num_str) 6 7print(formatted_num_str) # 输出: 12,345,678

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

image.png

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

三、总结

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

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

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

编写一个闭包函数,要实现的功能是计数功能

大家好,我是皮皮。一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。二、解决过程这里【东哥】给出了解答,其实这个题目就是在考你装饰器的内容。代码如下:count0defwrapper(func):definner(args,kwargs):g

盘点Python正则表达式中的贪婪模式和非贪婪模式

大家好,我是我是皮皮。一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个关于Python正则表达式的问题,其中涉及到Python正则表达式中的贪婪模式和非贪婪模式,讨论十分火热,这里拿出来给大家分享下,一起学习。二、解决过程这里分享【小王】大佬的解答,一起来看看吧,下面是他给的一个示例代码。importretxt"Thisis

这个JS代码中目标数据用Python正则表达式如何提取?

大家好,我是皮皮。一、前言前几天在Python白银群【凡人不烦人】问了一个Python正则表达式的问题,这里拿出来给大家分享下。这个ts,token可以同时取出吗?二、实现过程这里【甯同学】给出了一个思路,使用正则表达式实现,如下所示:顺利的提取到了目标数

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.