2015-06-28 71 views
-1

我一直在考慮的任務來創建一個函數,它接受一個字符串並執行以下操作:如何更換標籤,以空格

  • 替換每個標籤具有空間
  • 關閉所有字母小寫
  • 刪除字符:@#$%^ * &()_ + - = [] {} \ |`〜;:'」 <>/

我已經破解了小寫部分使用? msg.lower(),但我大多停留在ta上bs爲空格部分。

有什麼建議嗎?

+0

至於最後一部分:[從python中的字符串中刪除特定的字符](http://stackoverflow.com/q/3939361) –

回答

1

您需要使用一系列re.sub函數。

>>> def clean(s): 
     return re.sub(r'[[email protected]#$%^&*()_+=\[\]{}\|`~;:\'"<>?,./]', '',re.sub(r'\t', ' ', s)).lower() 

>>> clean('FOO[sdFD]-+()!-') 
'foosdfd' 
>>> clean('Music [()]-+~:;" @#%&*Foo') 
'music foo' 

說明:

  • re.sub(r'\t', ' ', s)將會把所有的選項卡空間。
  • re.sub(r'[ - !@#$%^ & *()_ + = [] {} \〜':''<>?,。/]','',re .SUB(R「\ T」,「」,S))從得到的線將刪除所有提到的特殊字符。
  • .lower()有助於把所有大寫字母爲小寫字母。