Python / 从字符串中删除特殊字符

13

我在用Python编写服务器端代码。

我注意到客户端向我发送了一个参数,形如:

"↵                        tryit1.tar↵                        "

我想去掉空格(我使用replace命令),但我也想去掉特殊字符:"↵"。

如何使用Python命令去除此字符(以及其他不是-_*.的奇怪字符)?

3个回答

24

这里可以用正则表达式:

re.sub('[^a-zA-Z0-9-_*.]', '', my_string)

2
>>> import string
>>> my_string = "↵                        tryit1.tar↵                        "
>>> acceptable_characters = string.letters + string.digits + "-_*."
>>> filter(lambda c: c in acceptable_characters, my_string)
'tryit1.tar'

2
我会使用如下正则表达式:

我会使用这样的正则表达式:

import re
string = "↵                        tryit1.tar↵                        "
print re.sub(r'[^\w.]', '', string)     #  tryit1.tar

这不会去除一些特殊字符,如 TM,并将其变成 â - Morse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接