微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python正则表达式去掉数字中的逗号(python正则匹配逗号)

分析

数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,***

正则式


[a-z]+,[a-z]?


import re

sen = "abc,123,456,789,mnp"
p = re.compile("\d+,\d+?")

for com in p.finditer(sen):
    mm = com.group()
    print "hi:",mm
    print "sen_before:",sen
    sen = sen.replace(mm,mm.replace(",",""))
    print "sen_back:",sen,'\n'

技巧

使用函数finditer(string[,pos[,endpos]]) | re.finditer(pattern,string[,flags]):

搜索string,返回一个顺序访问每一个匹配结果(Match对象)的迭代器。


sen = "abc,mnp"
while 1:
    mm = re.search("\d,\d",sen)
    if mm:
        mm = mm.group()
        sen = sen.replace(mm,""))
        print sen
    else:
        break

这样的程序针对具体问题,即数字3位一组,如果数字混杂与字母间,干掉数字间的逗号,即把“abc,4,mnp”转化为“abc,1234789,mnp”

更具体的是找正则式“数字,数字”找到后用去掉逗号的替换


sen = "abc,""))
        print sen
    else:
        break
print sen

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐