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

WBOY
发布: 2016-06-06 11:28:58
原创
3177 人浏览过

分析

数字中经常是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,123,456,789,mnp"
while 1:
    mm = re.search("d,d", sen)
    if mm:
        mm = mm.group()
        sen = sen.replace(mm, mm.replace(",", ""))
        print sen
    else:
        break

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

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

代码如下:


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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!