python正則表達式去掉數字中的逗號(python正則匹配逗號)
分析
數字中經常是3個數字一組,之后跟一個逗號,因此規(guī)律為:***,***,***
正則式
[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高級數據分析之pandas和matplotlib繪圖
Matplotlib是一個強大的Python繪圖和數據可視化的工具包,下面這篇文章主要給大家介紹了關于Python高級數據分析之pandas和matplotlib繪圖的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05