我想從電子郵件中刪除所有特殊字符,如'@','。'並用'下劃線'替換它們 在python'unidecode'中有一些函數,但它不能完全滿足我的要求。任何人都可以給我一些建議,這樣我就可以在字符串中找到上述提及的字符,並用'下劃線'替換它們。從django中的字符串中刪除特殊字符
謝謝。
我想從電子郵件中刪除所有特殊字符,如'@','。'並用'下劃線'替換它們 在python'unidecode'中有一些函數,但它不能完全滿足我的要求。任何人都可以給我一些建議,這樣我就可以在字符串中找到上述提及的字符,並用'下劃線'替換它們。從django中的字符串中刪除特殊字符
謝謝。
爲什麼不使用.replace()
?
例如。
a='[email protected]'
a.replace('@','_')
'testemail_email.com'
和編輯多你可能可以這樣做,從Python的食譜第2版此
a='[email protected]'
replace=['@','.']
for i in replace:
a=a.replace(i,'_')
很好的例子
import string
def translator(frm='', to='', delete='', keep=None):
if len(to) == 1:
to = to * len(frm)
trans = string.maketrans(frm, to)
if keep is not None:
allchars = string.maketrans('', '')
delete = allchars.translate(allchars, keep.translate(allchars, delete))
def translate(s):
return s.translate(trans, delete)
return translate
remove_cruft = translator(frm="@-._", to="~")
print remove_cruft("[email protected]")
輸出:
me~and~you~gmail~com
偉大string util放入你的工具包。
所有信貸the book
但替換隻需要兩個參數txt.replace('@','_')如果我想刪除多於一個字符,該怎麼辦 – Inforian
@Inforian看看編輯 – Jonathan
是的,它的工作原理,謝謝 – Inforian