首页 > 编程语言 >Python 去掉文本内容中的\xa0字符

Python 去掉文本内容中的\xa0字符

时间:2023-01-05 11:35:57浏览次数:35  
标签:字符 Python 方法 replace 空格 xa0 文本 ASCII

爬取网页时,不可避免会遇到\xa0字符串,就会发现,正则re.sub(r’\xa0’, ‘’)和字符串的replace都不管用。

通常地,我们所用的空格的ASCII码是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内的。而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。latin1 字符集可向下兼容 ASCII ( 0x20~0x7e )。由于\xa0 实际上是 Latin1 (ISO 8859-1) 中的不间断空格,也是 chr(160),所以应该将它替换为空格。

看了网上很多方法,比如有人用字符串的split()方法先进行分割,再用join()方法进行连接,是可以去掉\xa0字符,可是如果原本字符串里就有空格,想保留的空格也一并去掉了。所以这个方法不算严谨。

还有人建议用ord()+fromkeys()+translate()方法,功能是实现了,可看起来是不是太复杂了,这几个方法平时都太少用到了。

通过不断尝试,我发现一个简单的replace(u’\xa0’, u‘’)方法就可以实现了,比如:

import re
 
s='\xa0/\xa0The Shawshank Redemption'
s.replace(u'\xa0', u' ')
print(s)

输出:

/ The Shawshank Redemption

完美解决。不试过真是不知道会遇到什么问题。

 

注意:当.encode(‘utf-8’)时,它会将unicode编码为utf-8,这意味着每个unicode可以用1到4个字节表示。对于这种情况,\xa0 由 2 个字节 \xc2\xa0 表示。

标签:字符,Python,方法,replace,空格,xa0,文本,ASCII
From: https://www.cnblogs.com/zhengxianfa/p/17027037.html

相关文章

  • python的安装与配置
    windows系统安装Python1、进入python官网下载python官网点我1)鼠标移动到"Downloads"上(不是点击,是移动到Downloads上)2)根据自己的系统选择,windows系统点击Windows3)......
  • Python 调用Zoomeye搜索接口
    钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了......
  • PythonSpider
    ......
  • python爬虫之抓取高清壁纸
    对于很多电脑玩家喜欢给自己电脑装饰精美的壁纸,但是碍于图片大小清晰度等原因无法找到合适的,今天我就利用爬虫技术手段,现实高清壁纸抓取,需要的小伙伴可以一起过来看看!#cod......
  • 极客编程python入门-内建模块datetime
    datetimedatetime是Python处理日期和时间的标准库。获取当前日期和时间>>>fromdatetimeimportdatetime>>>now=datetime.now()#获取当前datetime>>>print(now)2015......
  • Python爬虫常用哪些库?
    经常游弋在互联网爬虫行业的程序员来说,如何快速的实现程序自动化,高效化都是自身技术的一种沉淀的结果,那么使用Python爬虫都会需要那些数据库支持?下文就是有关于我经常使用的......
  • Python 实现Ping命令状态检测
    ping是一种因特网包探索器,用于测试网络连接量的程序,Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP请求报文,测试目的站是否可达......
  • Python源设置以及国内源地址
    #########国内源地址##############腾讯开源镜像站http://mirrors.cloud.tencent.com/pypi/simple豆瓣http://pypi.douban.com/simple/网易开源镜像站http://mirrors.1......
  • Python学习day02
    一、用户交互1.猜年龄death_age=80name=input("yourname:")age=int(input("yourage:"))print("yourname"name)print("youcanstilllivefor"death_age-age"yea......
  • python中模块的__all__属性详解
    python中模块的__all__属性详解python模块中的__all__属性,可用于模块导入时限制示例1普通类#kk.pyclassA():def__init__(self,name,age):self.name......