python正则表达式去掉数字中的逗号(python正则匹配
逗号)
分析
数字中经常是3个数字⼀组,之后跟⼀个逗号,因此规律为:***,***,***
正则式
复制代码代码如下:
正则匹配数字范围
[a-z]+,[a-z]?
复制代码代码如下:
import re
sen = "abc,123,456,789,mnp"
p = repile("\d+,\d+?")
for com in p.finditer(sen):
mm = up()
print "hi:", mm
print "sen_before:", sen
sen = place(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 = place(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 = place(mm, mm.replace(",", ""))
print sen
else:
break
print sen

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。