我目前正在使用Beautiful Soup来解析HTML文件并调用get_text(),但似乎我留下了很多\xa0 Unicode表示空格。在python2.7中是否有一种有效的方法将它们全部删除,并将它们更改为空格?我想更普遍的问题应该是,有没有办法移除Unicode格式?
我尝试使用:line = line。replace(u'\xa0',' '),正如另一个线程所建议的那样,但这将\xa0改为u,所以现在我到处都是“u”。):
编辑:这个问题似乎可以通过str.replace(u'\xa0', ' ').encode('utf-8')来解决,但是仅仅使用.encode('utf-8')而不使用replace()似乎会导致它吐出更奇怪的字符,例如\xc2。有人能解释一下吗?
这就是我如何解决这个问题,因为我遇到了\xao在html编码字符串。
我发现插入了一个打破None的空格,以确保一个单词和后续的HTML标记不会由于页面大小的调整而分开。
这
为解析代码提供了一个问题,因为它引入了编解码器编码问题。难办的是我们
不知道所使用的编码。从Windows机器可以是latin-1或CP1252(西方ISO),
但最近的操作系统已经标准化为UTF-8。通过规范化unicode数据,我们去掉了\xa0
my_string = unicodedata.normalize('NFKD', my_string).encode('ASCII', 'ignore')
这就是我如何解决这个问题,因为我遇到了\xao在html编码字符串。
我发现插入了一个打破None的空格,以确保一个单词和后续的HTML标记不会由于页面大小的调整而分开。
这
为解析代码提供了一个问题,因为它引入了编解码器编码问题。难办的是我们
不知道所使用的编码。从Windows机器可以是latin-1或CP1252(西方ISO),
但最近的操作系统已经标准化为UTF-8。通过规范化unicode数据,我们去掉了\xa0
my_string = unicodedata.normalize('NFKD', my_string).encode('ASCII', 'ignore')