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,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
相关推荐
shijinling0 2019-06-29
RuoShangM 2020-02-27
Buerzhu 2019-12-02
dailinqing 2019-10-28
chenwen0000 2019-09-07
LHpython 2019-04-23
Python探路者 2019-04-18
JamesHammer 2019-04-17
PythonBiglove 2018-12-25
JamesHammer 2019-04-05
yoyoshadow 2013-11-20
impressyourcat 2018-03-22