我想從Python字符串中除去破折號和空格以外的所有特殊字符。如何從Python字符串中刪除空格和破折號以外的所有特殊字符?
這是正確的嗎?
import re
my_string = "Web's GReat thing-ok"
pattern = re.compile('[^A-Za-z0-9 -]')
new_string = pattern.sub('',my_string)
new_string
>> 'Webs GReat thing-ok'
# then make it lowercase and replace spaces with underscores
# new_string = new_string.lower().replace (" ", "_")
# new_string
# >> 'webs_great_thing-ok'
如圖所示,我最終要去除其他特殊字符後,以取代下劃線的空間,但想我會做的階段。是否有一種Pythonic方法可以一舉完成這一切?
對於上下文,我將這個輸入用於MongoDB集合名稱,所以希望最終字符串的約束爲:允許使用破折號和下劃線的字母數字。