Python 去掉文本内容中的\xa0字符
爬取网页时,不可避免会遇到\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字符的更多相关文章
- python爬虫爬取内容中,-xa0,-u3000的含义
python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310
- 【python】使用python发送文本内容邮件
下面提供了一个使用python做的发送文本内容的邮件代码,能够在邮件内容中设置文字颜色,大小,换行等功能. #auther by zls #_*_coding:utf-8_*_ import sys ...
- Python 去掉文本中空行
pandas 操作csv文件时,一直报错,排查后发现csv文本中存在很多“空行”: So 需要把空行全部去掉: def clearBlankLine(): file1 = open('text1.tx ...
- Python中文文件处理中涉及的字符编码及字符集
在现在的互联网,字符编码是互联网信息交互的一个重要基础,各种语言都有支持信息编码的机制,Python也不例外.Python除了字符编码之外,对于字节码和字符串两种类型有严格区分,字符串是本地可以读取的 ...
- Python: 在CSV文件中写入中文字符
0.2 2016.09.26 11:28* 字数 216 阅读 8053评论 2喜欢 5 最近一段时间的学习中发现,Python基本和中文字符杠上了.如果能把各种编码问题解决了,基本上也算对Pytho ...
- dede数据库内容替换,去掉文章内容中的img标签
1.织梦已经给我们准备好了数据库内容替换工具,在采集->批量维护->数据库内容替换 2.织梦的文章内容一般在放在dede_addonarticle表body字段中. (1).选择好数据表和 ...
- 本内容中发现无效字符。处理资源 'file:///C:/Users/XDJ/Desktop/1111/press.xml' 时出错。第 5 行,位置: 11 <author>ƽ
粘贴到编译器中, 然后在复制出即可.
- python已写内容中可能的报错及解决办法
理论上我发的每个短文,直接复制放到py里面,python xx.py是可以执行的,不过因为版本,编码什么的问题会有报错,详见这里 报错: SyntaxError: Non-ASCII characte ...
- linux shell 去掉文本处理中的双引号
cat aa.txt |sed 's/\"//g' 结果是:hello aa.txt "hello"
- python 正则表达式替换字符串中匹配的字符
import re street = '21 Ramkrishna Road' print(re.sub('Road$', 'Rd.', street)) 将结尾的Road用Rd.替换
随机推荐
- scrcpy不使用adb远程控制android
1.开启服务器 CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 1.23 ...
- jenkin创建任务
第一步新建项目 第二步创建任务名称
- superset2.0.0 支持MaxCompute 时间颗粒
编译的时候需要在superset/superset/db_engine_specs以下路径增加一个 odps.py的文件 # Licensed to the Apache Software Found ...
- 【git】2.3查看提交历史
资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4% ...
- maven加载本地的jar包
方式1 ,通过scope = system的方式加载 <dependency> <groupId>com.sun.jna</groupId> <artifac ...
- rn项目下载@ant-design/react-native时发生冲突
rn项目,使用npm i @ant-design/react-native下载antd. 下载依赖时报错: 如果你也遇到这个问题,直接告诉你结论,那就是最新的@ant-design/react-nat ...
- HDLbits—— 3-input look-up-table
// a 3-input look-up-table // In this question, you will design a circuit for an 8x1 memory, // wher ...
- centos-7实现批量ping
批量ping 脚本 新接手了一个项目,10多个网段,500多机器,看自己机器可以连上多少服务器,一个个ping不符合我们的作风,因此百度了下大神的脚本,按自己的风格修改了,于是有了如下的脚本. 脚本如 ...
- 杭电oj 求数列的和
Problem Description 数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和. Input 输入数据有多组,每组占一行,由两个整数n(n<10000 ...
- Java jar打包成exe应用程序,可在无JDK/JRE环境下运行
转载自 https://blog.csdn.net/hao65103940/article/details/106494964 前期准备 一个jar包,没有bug能正常启动的jar包 exe4j,一个 ...