我需要删除python中所有不可见的字符

2024-10-02 16:29:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个很长的文本,我需要尽可能干净。 我只在一个空间中折叠了多个空间。我已删除\n和\t。我删除了生成的字符串。在

然后我找到了像\u2003和\u2019这样的字符 这些是什么?如何确保在我的文本中删除所有特殊字符?在

除了\n \t和\u2003之外,是否应检查要删除的其他字符? 我使用的是python3.6


Tags: 字符串文本空间字符特殊字符u2019u2003
1条回答
网友
1楼 · 发布于 2024-10-02 16:29:32

试试这个:

import re
# string contains the \u2003 character
string = u'This is a   test string ’'
# this regex will replace all special characters with a space
re.sub('\W+',' ',string).strip()

结果

^{pr2}$

如果要保留ascii特殊字符:

re.sub('[^!-~]+',' ',string).strip()

此正则表达式读作:选择[not characters 34-126]一次或多次,其中字符34-126是ascii的可见范围。在

在regex中,^表示not,-表示一个范围。看一个ascii表,32是space,下面所有的字符要么是按钮中断,要么是另一种形式的空白,比如tab和{}。字符33是!标记,ascii中最后一个可显示的字符是126或~。在

相关问题 更多 >