2011-03-03 45 views
12

是否可以創建一個reqex來查找不是特定集的字符?基於字符串的Python字符串替換不在正則表達式中

不是黑名單一串字符和替換它們,這將是我更容易讓一組特定的和替換不在該字符集。

我一套看起來是這樣的: [.A-ZA-Z0-9]

我願做這樣的事情:

clean_filename = re.sub(r'([.a-zA-Z0-9])', "_", filename) 

顯然這段代碼將代替我想要的字符保留,是否有方法來取代不在該集合中的字符?

回答

17

是,使用^否定 「修正」:r'[^.a-zA-Z0-9]'

+1

用戶可以輸入 「」 作爲文件名。那會好嗎? – usr 2011-05-26 18:45:34

2

嘗試用:

re.sub(r'[^a-zA-Z0-9]', "_", filename) 
2
clean_filename = re.sub(r'[^.a-zA-Z0-9]', "_", filename)