我目前正在使用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。有人能解释一下吗?
\xa0在拉丁语1 (ISO 8859-1)中实际上是不间断空格,也叫chr(160)。你应该把它换成空格。
字符串=字符串。替换(u'\xa0', u' ')
当.encode('utf-8')时,它将unicode编码为utf-8,这意味着每个unicode可以由1到4个字节表示。在本例中,\xa0由2字节\xc2\xa0表示。
阅读http://docs.python.org/howto/unicode.html。
请注意:这个答案在2012年,Python已经前进,你应该能够使用unicodedata。现在正常
\xa0在拉丁语1 (ISO 8859-1)中实际上是不间断空格,也叫chr(160)。你应该把它换成空格。
字符串=字符串。替换(u'\xa0', u' ')
当.encode('utf-8')时,它将unicode编码为utf-8,这意味着每个unicode可以由1到4个字节表示。在本例中,\xa0由2字节\xc2\xa0表示。
阅读http://docs.python.org/howto/unicode.html。
请注意:这个答案在2012年,Python已经前进,你应该能够使用unicodedata。现在正常