为了账号安全,请及时绑定邮箱和手机立即绑定

Python:从字符串中删除\ xa0?

Python:从字符串中删除\ xa0?

慕桂英3389331 2019-12-10 12:08:29
我目前正在使用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 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

Python unicodedata库中有许多有用的东西。功能之一就是.normalize()功能。


尝试:


new_str = unicodedata.normalize("NFKD", unicode_str)

如果您没有得到想要的结果,请使用上面链接中列出的任何其他方法替换NFKD。



查看完整回答
反对 回复 2019-12-11
?
喵喔喔

TA贡献1735条经验 获得超5个赞

我遇到了同样的问题,使用python从sqlite3数据库中提取了一些数据。上面的答案对我不起作用(不确定为什么),但是这样做了:line = line.decode('ascii', 'ignore')但是,我的目标是删除\ xa0s,而不是用空格替换它们。


我是从Ned Batchelder的这个超级有用的unicode教程中获得的。


查看完整回答
反对 回复 2019-12-11
  • 3 回答
  • 0 关注
  • 320 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信