清除 Python 中的 UTF-8 文本中的奇怪字符



我有从网站解析的文本,我需要在Python中清理它们以供以后的NLP使用。它们是波兰语,而不是英语,所以我有 UTF-8 字符,如ąłó等。我只需要留下正常的标点符号(.,'"-等(和字母(包括波兰语字符(,并删除所有"奇怪"的非标准字符,例如。我该怎么做?我认为我需要一些正则表达式并将那些非标准字符替换为""(无字符(,但我不知道如何仅过滤"常规"字符。UTF-8 在这里是一个问题,获取 ASCII 字母很容易。

您可以使用 unidecode 将文本转换为 ASCII :

import unidecode
text = unidecode.unidecode(texte) 

然后你可以使用它来过滤一些不需要的Caracters:

for i in ("<",">","!","?","-","$",";","Ã","©","_","-","«","»","*") :
texte = texte.replace(i, " ")

查看decode中的错误处理选项:https://docs.python.org/3/library/codecs.html#error-handlers

因此,其中content是包含 UTF8 文本的bytes对象,如下所示:

content.decode("ascii", "ignore")

应该做你想做的事。

最新更新