我有以下字符串,必须清理
#import re
addr="abcd&^fhj"
problemchars = re.compile(r'[=\+/&<>;\'"\?%#$@\,\. \t\r\n]')
re.search(problemchars,addr)
答案 0 :(得分:1)
在这种情况下,使用re.sub
搜索\W
(非alphanum)并替换为空。
import re
addr="abcd&^fhj"
print(re.sub("\W","",addr))
("\W+"
也有效,但不确定它会更高效)
答案 1 :(得分:1)
如果你不想使用正则表达式,也可以使用过滤功能
line = "abcd&^fhj"
line = filter(str.isalpha, line)
print line # Change for python3
输出:
abcdfhj
编辑:对于python 3,您可以像这样更改print语句,因为filter
函数返回一个可迭代的。
print(''.join(list(line)))