2016-08-15 42 views
1

可以很容易地從以下string刪除所有數字:正則表達式刪除任何數字/字母組合?

>>> string = "asprx12303 hello my 321 name is Tom 2323dsad843, 657a b879 843aa943 aa... 2ci 2ci" 
>>> modified = re.sub(r'\d+', '', string) 
>>> print(modified) 
'asprx hello my name is Tom dsad, a b aa aa... ci ci' 

但我想刪除每一個獨立的數字(例如,通過自身321)和字母和數字的每一個組合的字符串(如843aa943asprx12303) 。

這是我到目前爲止有:

>>> modified2 = re.sub(r'\w+\d+', '', string) 
>>> print(modified2) 
' hello my name is Tom , a aa... 2ci 2ci' 

所以,這兩種模式工作得很好,但我留下了2ci末。我怎樣才能爲這個問題制定一個包羅萬象的正則表達式?我的解決方案目前爲止還不錯,但並不完全符合我的需求。

回答

7

像這樣:

r'\w*[0-9]\w*' 

這應該匹配的含有至少一個數字字字符的任意連續的運行。

相關問題