从字符串中删除不在字母表中的所有字符的最佳方法是什么?我的意思是,删除所有空格,interpunction,括号,数字,数学运算符..
例如:
input: 'as32{ vd"s k!+' output: 'asvdsk'
timgeb.. 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'
nehemiah.. 8
如果你想使用正则表达式,这应该更快
import re s = 'as32{ vd"s k!+' print re.sub('[^a-zA-Z]+', '', s)
版画
'asvdsk'
你可以使用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'
如果你想使用正则表达式,这应该更快
import re s = 'as32{ vd"s k!+' print re.sub('[^a-zA-Z]+', '', s)
版画
'asvdsk'