2012-05-23 206 views
2

我有一個非常嘈雜的字符串輸入,我試圖清理它的模式..找到字符串蟒蛇

所以,嘈雜的字符串的一部分可以是這樣的:

"big $price chair, 5x10" 

現在刪除符號和其他東西都完成了! 但我也想刪除

5x10 

爲了這個,我這樣做:

def remove_numerics(self,string): 
    return ' '.join([term for term in string.split() if not term[0].isdigit()]) 

哪些解決這種情況下

但如果我的字符串是:

"big $price chair, x10" 

然後失敗? 什麼是解決這種情況的好的pythonic方法。 非常感謝。

+0

所以你要刪除的形式NUMBERSxNUMBERS的所有 「字」? –

回答

5
re.sub(r'\b[\dx]+\b', '', "big $price chair, 5x10") 
4
import re 
new_string = re.sub(r', \d*x\d+', '', old_string) 
+1

沒有解決OP的問題 - 它在「x10」上失敗。 –

+0

謝謝...修正。 – mayhewr

+0

+1。 Minor nitpick:你不應該在python buildins之後命名變量。把'str'改成別的東西。 –