python正则表达式去掉数字中的逗号(python正则匹配逗号)_python教程-查字典教程网
python正则表达式去掉数字中的逗号(python正则匹配逗号)
python正则表达式去掉数字中的逗号(python正则匹配逗号)
发布时间:2016-12-28 来源:查字典编辑
摘要:分析数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,***正则式复制代码代码如下:[a-z]+,[a-z]?复制代码代...

分析

数字中经常是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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新python学习
    热门python学习
    脚本专栏子分类