本文實例總結了Python實現簡易過濾刪除數字的方法。分享給大家供大家參考,具體如下:
如果想從一個含有數字,漢字,字母的列表中濾除僅含有數字的字符,當然可以采取正則表達式來完成,但是有點太麻煩了,因此可以采用一個比較巧妙的方式:
1、正則表達式解決
importre
L=[u'小明','xiaohong','12','adf12','14']
foriinrange(len(L)):
ifre.findall(r'^[^\d]\w+',L[i]):
printre.findall(r'^\w+$',L[i])[0]
elifisinstance(L[i],unicode):
printL[i]
2、巧妙地避開正則表達式
L=['xiaohong','12','adf12','14',u'曉明']
forxinL:
try:
int(x)
except:
printx
3、使用string內置方法
L=['xiaohong','12','adf12','14',u'曉明']
#對于python3來說同樣還可以使用string.isnumeric()方法
forxinL:
ifnotx.isdigit():
printx
4、去除兩端的數字
如果只是去除兩端可能含有數字的字符串里的數字,則可以使用內置的strip,方式如下:
In[24]:importstring
In[25]:astring='12313213215justfor32test1306436'
In[26]:astring.strip(string.digits)
Out[26]:'justfor32test'
In[27]:astring.rstrip(string.digits)
Out[27]:'12313213215justfor32test'
In[30]:astring.lstrip(string.digits)
Out[30]:'justfor32test1306436'
#注意
In[31]:astring
Out[31]:'12313213215justfor32test1306436'
In[32]:astring.strip('0123456')
Out[32]:'justfor32test'
.strip([char])中的char給定時,則截取兩端的字符直到滿足不在set(char)中,不需要有序,切記!
以上內容為大家介紹了python培訓之如何過濾數字,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。