删除特殊引号和其他字符



我正在尝试使用 newspaper中的 Article下载文章,并尝试使用 nltk word_tokenizer来代币化单词。问题是,当我尝试打印解析的文章文本时,其中一些文章具有特殊引号,例如,这些标记不会由Tokenizer滤除,因为它将是常规的'"。P>

有没有一种方法可以用普通报价替换这些特殊报价,或者更好地删除了令牌剂可能会错过的所有可能的子字符?

我试图通过在代码中明确提及它们来删除这些特殊字符,但是它给了我错误Non-UTF-8 code starting with 'x92'

使用UNIDECODE软件包通常会用UTF-8替换这些字符。

from unidecode import unidecode
text = unidecode(text)

但是,一个缺点是您还将更改一些可能要保留的字符(例如突出角色(。如果是这种情况,则选择是使用正则表达式专门删除(或替换(一些预识别的特殊字符:

import re
exotic_quotes = ['\x92'] # fill this up
text = re.sub(exotic_quotes, "'", text) # changing the second argument to fill the kind of quote you want to replace the exotic ones with

我希望这会有所帮助!

相关内容

  • 没有找到相关文章

最新更新