我目前正在使用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'),但.encode('utf-8')不这样做replace()似乎会导致它吐出甚至更奇怪的字符,例如\ xc2。谁能解释一下?
3 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
Python unicodedata库中有许多有用的东西。功能之一就是.normalize()功能。
尝试:
new_str = unicodedata.normalize("NFKD", unicode_str)
如果您没有得到想要的结果,请使用上面链接中列出的任何其他方法替换NFKD。
Smart猫小萌
TA贡献1911条经验 获得超7个赞
我遇到了同样的问题,使用python从sqlite3数据库中提取了一些数据。上面的答案对我不起作用(不确定为什么),但是这样做了:line = line.decode('ascii', 'ignore')但是,我的目标是删除\ xa0s,而不是用空格替换它们。
我是从Ned Batchelder的这个超级有用的unicode教程中获得的。
添加回答
举报
0/150
提交
取消