python实现去掉字符串中的\xa0、\t、\n

 更新时间:2023年08月22日 09:29:23   作者:wangbowj123  
这篇文章主要介绍了python实现去掉字符串中的\xa0、\t、\n方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python去掉字符串中的\xa0、\t、\n

帮女朋友从网络上收集一些信息,但是发现提取出的信息中有“\xa0”,并且无法去掉,查阅了相关资料,后发现该字符表示空格。

\xa0 是不间断空白符  

我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。

而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。

latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。

有如下信息:

'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0,', 'V-neck\xa0\xa0V型领\xa0sleeve\xa0\xa0袖子\xa0,',

我们如何将其中的\xz0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。

方法如下:

>>> inputstring = u'\n                      Door:\xa0Novum          \t      '
>>> move = dict.fromkeys((ord(c) for c in u"\xa0\n\t"))
>>> output = inputstring.translate(move)
>>> output
'                      Door:Novum                '

另外还有一种更简单的方法,利用split方法:

>>> s
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0'
>>> out = "".join(s.split())
>>> out
'T-shirt短袖圆领衫,体恤衫'

可以发现利用translate方法、split()可以完美解决,并且还可以替换\t \n字符,由此又学到了新知识!

关于ord函数:

ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。

关于fromkeys方法:

dict中的fromkeys方法目的是创建一个只有key的字典,内部利用for循环,使三个字符的asii码值成为可迭代对象(本来的整数是不可迭代的),分别对其迭代,存入字典。

关于translate方法:

Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。接收到move返回的表(字典),之后对字符串进行替换。

join()方法:

join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。可见该处用join方法真的是神来之笔,可谓绝妙!

值得注意的是,split方法中不带参数时,表示分割所有换行符、制表符、空格。

去除字符串中的\xa0不间断空白符

记录几个python解析页面时遇到的小问题解决方法

去除字符串中的\xa0不间断空白符

    # 方法一:用编码转换的方式
     import unicodedata
     s = unicodedata.normalize("NFKD", s)
    # 方法二:直接去除所有空白
    s= ''.join(s.split())
    # 方法三:自己转换编码ord方式,或替换replace等(不推荐)

xpath解析取标签下所有文字

    # 取出标签下所有文字,有3种方法:
    # 1.用//text()取所有文字然后join;
    remediation = cve_page.xpath("//h2[@id='remediation']/following-sibling::p[1]//text()")
    remediation = ''.join(remediation).strip()
    # 2.用xpath('string(.)')解析;
    remediation = cve_page.xpath("//h2[@id='remediation']/following-sibling::p[1]")
    remediation=remediation[0].xpath('string(.)').strip()
    # 3.转换为str后用正则(不推荐)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python-Selenium自动化爬虫

    Python-Selenium自动化爬虫

    本文介绍Python-Selenium自动化爬虫,Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,xiamian neir 需要的朋友可以参考下
    2022-01-01
  • Python短信轰炸的代码

    Python短信轰炸的代码

    这篇文章主要介绍了Python短信轰炸的代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • python+flask编写接口实例详解

    python+flask编写接口实例详解

    这篇文章主要介绍了python+flask编写接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 详解python requests中的post请求的参数问题

    详解python requests中的post请求的参数问题

    这篇文章主要介绍了详解python requests中的post请求的参数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python利用pyttsx3 API实现文本转语音处理

    python利用pyttsx3 API实现文本转语音处理

    这篇文章主要为大家详细介绍了Python如何利用pyttsx3 API实现文本转语音处理,文中有详细的示例代码,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Python如何拆分ZIP文件

    Python如何拆分ZIP文件

    这篇文章主要介绍了Python如何拆分ZIP文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python pip install之SSL异常处理操作

    Python pip install之SSL异常处理操作

    这篇文章主要介绍了Python pip install之SSL异常处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Python实现全角半角转换的方法

    Python实现全角半角转换的方法

    这篇文章主要介绍了Python实现全角半角转换的方法,很实用的方法,需要的朋友可以参考下
    2014-08-08
  • python写的本地WIFI密码查看器的具体代码

    python写的本地WIFI密码查看器的具体代码

    本文主要分享一个本地wifi密码查看器,用python实现的,代码简单易懂,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Python字节单位转换(将字节转换为K M G T)

    Python字节单位转换(将字节转换为K M G T)

    这篇文章主要介绍了Python字节单位转换(将字节转换为K M G T),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论