2013-03-09 53 views
0

我想從字符串中篩選出不一致的字符。正則表達式幫助python與alphanumaric

目前我有this..in蟒蛇

name = re.sub('([^a-zA-Z0-9 -\'!$&])',' ', name) 

但我想包括諸如「()」括號「/」反斜線和斜槓。不知何故,它不起作用。 任何人都可以看看,請..

+0

找到正則表達式... – 2013-03-09 09:56:50

+0

如果您找到了答案,然後張貼它並接受它。 – Volatility 2013-03-09 09:59:08

回答

0
name = re.sub('([^a-zA-Z0-9\[\]\(,\)\+\/ \\-\'!$&])',' ', name) 
1

非正則表達式的解決方案

accepted = '''!$*()\/.,>-_=+<:;'"?|''' 
allowed = string.digits + string.letters + accepted 
filter(allowed.__contains__, name) 

這將過濾字符串非字母數字字符和否定來篩選列出的字符在接受

+0

非常好。我不知道''__contains__''方法。 - 你的網站也很有趣。稍後我會更詳細地閱讀它。歡迎來到SO – eyquem 2013-03-09 13:44:35

+0

學習新方法絕不是壞事=)。我只是更新了網址到博客。感謝您的關注。讀完後讓我知道你的想法。 – cinelli 2013-03-10 02:26:02