分析
数字中经常是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
正则表达式 java,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
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态