爬取网页时,不可避免会遇到\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 去掉文本内容中的\xa0字符的更多相关文章

  1. python爬虫爬取内容中,-xa0,-u3000的含义

    python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310

  2. 【python】使用python发送文本内容邮件

    下面提供了一个使用python做的发送文本内容的邮件代码,能够在邮件内容中设置文字颜色,大小,换行等功能. #auther by zls #_*_coding:utf-8_*_ import sys ...

  3. Python 去掉文本中空行

    pandas 操作csv文件时,一直报错,排查后发现csv文本中存在很多“空行”: So 需要把空行全部去掉: def clearBlankLine(): file1 = open('text1.tx ...

  4. Python中文文件处理中涉及的字符编码及字符集

    在现在的互联网,字符编码是互联网信息交互的一个重要基础,各种语言都有支持信息编码的机制,Python也不例外.Python除了字符编码之外,对于字节码和字符串两种类型有严格区分,字符串是本地可以读取的 ...

  5. Python: 在CSV文件中写入中文字符

    0.2 2016.09.26 11:28* 字数 216 阅读 8053评论 2喜欢 5 最近一段时间的学习中发现,Python基本和中文字符杠上了.如果能把各种编码问题解决了,基本上也算对Pytho ...

  6. dede数据库内容替换,去掉文章内容中的img标签

    1.织梦已经给我们准备好了数据库内容替换工具,在采集->批量维护->数据库内容替换 2.织梦的文章内容一般在放在dede_addonarticle表body字段中. (1).选择好数据表和 ...

  7. 本内容中发现无效字符。处理资源 'file:///C:/Users/XDJ/Desktop/1111/press.xml' 时出错。第 5 行,位置: 11 <author>ƽ

    粘贴到编译器中, 然后在复制出即可.

  8. python已写内容中可能的报错及解决办法

    理论上我发的每个短文,直接复制放到py里面,python xx.py是可以执行的,不过因为版本,编码什么的问题会有报错,详见这里 报错: SyntaxError: Non-ASCII characte ...

  9. linux shell 去掉文本处理中的双引号

    cat aa.txt |sed 's/\"//g'  结果是:hello aa.txt "hello"

  10. python 正则表达式替换字符串中匹配的字符

    import re street = '21 Ramkrishna Road' print(re.sub('Road$', 'Rd.', street)) 将结尾的Road用Rd.替换

随机推荐

  1. linux check folder files how many files

    https://linuxhandbook.com/count-number-files/ tree -a

  2. 2022年JMUCTF WP

    2022年JMUCTF WP crypto 2,Are you ok Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. ...

  3. ASPICE的实践

    ASPICE这种规范文件如果严格遵守,那么投入产出比是比较小的. 但是其中的思想是很好的,比如对需求的管理.讲究双向可追溯. 但是也是有很多需要慎重的,比如对component和unit的区分太过明显 ...

  4. ERA5气压层数据驱动WRF的一些问题

    感谢Dawn的建议,兰溪之水的WRF教程 参考了一些经验,并结合实际后,成功用ERA5驱动WRF.实际上,用ERA5数据驱动WRF的方法和用ERA-Interim 数据驱动WRF极其类似. 总结几点是 ...

  5. 【OBS Studio】使用 VLC 视频源播放视频报错:Unhandled exception: c0000005

    使用 OBS Studio 和 VLC media player 可以实现视频播放列表的推流,参考『OBS如何添加播放列表?』. 但是使用过程中发现使用 VLC 视频源播放视频时,一个视频播放完切换下 ...

  6. CF79D 题解

    题解 传送门 你有 \(n\) 个灯泡,一开始都未点亮. 同时你有 \(l\) 个长度,分别为 \(a_1 \sim a_l\). 每次你可以选择一段连续的子序列,且长度为某个 \(a_i\),并将这 ...

  7. VAE变分自编码器公式推导

    VAE变分推导依赖数学公式 (1)贝叶斯公式:\(p(z|x) = \frac{p(x|z)p(z)}{p(x)}\) (2)边缘概率公式:\(p(x) =\int{p(x,z)}dz\) (3)KL ...

  8. Python 封装cmd 执行命令

    1.利用shell中执行成功返回0 失败非零  封装成函数 # coding: utf-8 from subprocess import Popen, PIPE, STDOUT import sys ...

  9. DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件

    DDD(二)聚合.聚合根.领域服务.应用服务.仓储"和"工作单元".领域事件.集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/ ...

  10. 关于Windows系统TCP参数修改

    在做压测时,往往会因为TCP连接数较少,导致并发数上不去就报错,下面我们一起看看如何修改Windows的TCP参数 1.本地注册表 打开注册表快捷键:Windows+R建,输入regedit,按下键盘 ...