10 python python-2.7
从字符串中删除不在字母表中的所有字符的最佳方法是什么?我的意思是,删除所有空格,interpunction,括号,数字,数学运算符..
例如:
input: 'as32{ vd"s k!+'
output: 'asvdsk'
Run Code Online (Sandbox Code Playgroud)
tim*_*geb 29
你可以使用re,但你真的不需要.
>>> s = 'as32{ vd"s k!+'
>>> ''.join(x for x in s if x.isalpha())
'asvdsk'
>>> filter(str.isalpha, s) # works in python-2.7
'asvdsk'
>>> ''.join(filter(str.isalpha, s)) # works in python3
'asvdsk'
Run Code Online (Sandbox Code Playgroud)
如果你想使用正则表达式,这应该更快
import re
s = 'as32{ vd"s k!+'
print re.sub('[^a-zA-Z]+', '', s)
Run Code Online (Sandbox Code Playgroud)
版画
'asvdsk'