【发布时间】:2012-06-15 03:43:49
【问题描述】:
我目前正在使用 Beautiful Soup 解析 HTML 文件并调用 get_text(),但似乎我留下了很多 \xa0 Unicode 表示空格。有没有一种有效的方法可以在 Python 2.7 中删除所有这些,并将它们更改为空格?我想更笼统的问题是,有没有办法删除 Unicode 格式?
我尝试使用:line = line.replace(u'\xa0',' '),正如另一个线程所建议的那样,但这将 \xa0 更改为 u,所以现在我到处都有“u”。 ):
编辑:问题似乎已由str.replace(u'\xa0', ' ').encode('utf-8') 解决,但只是在没有replace() 的情况下执行.encode('utf-8') 似乎会导致它吐出更奇怪的字符,例如\xc2。谁能解释一下?
【问题讨论】:
-
已经试过了,'ascii' 编解码器无法解码位置 0 的字节 0xa0:序数不在范围内(128)
-
拥抱 Unicode。使用
u''s 而不是''s。 :-) -
尝试使用 str.replace(u'\xa0', ' ') 但到处都是“u”而不是 \xa0s :/
-
如果字符串是 unicode 字符串,则必须使用
u' '替换,而不是' '。原始字符串是 unicode 的吗?
标签: python python-2.7 unicode beautifulsoup utf-8