前言

测试环境:python3.10.5
python 读取字符串后对字符串进行处理的话,就可能会有去除空格,换行,制表符,回车符的操作,下面我们就分别讨论一下不同情况应该怎么处理。
各种空格的处理
下面我们先传入一段文本,其中普通的空白符号(空格包括全角和半角)。

content = """\r\n\t话 说 天 下 大 势 分 久 必 合 合 久 必 分 \r\n周 末 七 国 分 争 并 入 于 秦 \r\n及 秦 灭 之 后 楚 汉 分 争 又 并 入 于 汉 """
#输出结果话 说 天 下 大 势 分 久 必 合 合 久 必 分
周 末 七 国 分 争 并 入 于 秦
及 秦 灭 之 后 楚 汉 分 争 又 并 入 于 汉 

目录标题

  • 前言
  • 一. 需要删除所有空白符号
  • 二. 删除所有空格,保留回车换行
  • 三. strip()
  • 四. replace()
  • 总结

一. 需要删除所有空白符号

应用场景:判断一个字符串在另一个字符串中

正则替换:\s是不可见字符
import re
content = """\r\n\t话 说 天 下 大 势 分 久 必 合 合 久 必 分 \r\n周 末 七 国 分 争 并 入 于 秦 \r\n及 秦 灭 之 后 楚 汉 分 争 又 并 入 于 汉 """
key = '秦及秦灭之后'content = re.sub(r'[\s]+', '', content)
print(content) #话说天下大势分久必合合久必分周末七国分争并入于秦及秦灭之后楚汉分争又并入于汉
print(key in content)  #True

在网上搜了空格处理之后,大部分都是要对各种空格分别处理,然后我试一下python3.10.5 版本自带的re模块,其实可以都匹配到,包括html中的空格。具体空格分类可以看前言中的网址。

content = u'一\xa0二\u3000三\u2003四\u2002五\u0020六 七'import re
# content = re.sub(r'[\s]+','',content)
print(content)   #一 二 三 四 五 六 七

六和七之间哪个在pycharm可以看到

content = u'一\xa0二\u3000三\u2003四\u2002五\u0020六 七'import re
content = re.sub(r'[\s]+','',content)
print(content)  #一二三四五六七#上图中的emsp和\u2003是一样的
print(ord(' '),ord('\u2003'))  #8195 8195

也就是说,至少在3.10.5版本中,re模块的\s就已经支持对大部分常见空格进行替换了,而不用再额外指定其他空格unicode编码。

二. 删除所有空格,保留回车换行

应用场景:分割字符串,回车换行需要作为每一行的分隔符时

import re
content = """\r\n\t话 说 天 下 大 势 分 久 必 合 合 久 必 分 \r\n周 末 七 国 分 争 并 入 于 秦 \r\n及 秦 灭 之 后 楚 汉 分 争 又 并 入 于 汉 """
#\u0020 英文半角
#\u3000 中文全角
#\t tab键# print(ord(' '))  #32 半角空格
# print(ord(' '))  #12288 全角空格
content = re.sub(r'[\u3000\u0020\t]+', '', content)
print(content.split('\r\n'))
#['', '话说天下大势分久必合合久必分', '周末七国分争并入于秦', '及秦灭之后楚汉分争又并入于汉']

经过以上两个re模块的实例,应付常见的需求应该没问题了。

三. strip()

应用场景:strip函数以及其衍生函数,最主要用在字符串长度较少,前后有空格的情况,当然也可以给strip函数参数,在字符串替换其他字符(默认不给参数时替换前后的空格)。

四. replace()

应用场景:最好用在替换非空白字符上,因为替换空白字符的话要替换多次,且容易忽略全角空格,导致出错。

总结

长字符串替换的话最好用正则,短字符替换一眼就可以看出来替换的对不对,用哪种方法都行。

python去除空格和换行相关推荐

  1. python去除空格和换行符的方法

    一.去除空格 strip() " xyz ".strip() # returns "xyz" " xyz ".lstrip() # retu ...

  2. python 去除空格和换行,删除空格和换行符-BeautifulSoup Python

    使用Beautifulsoup,我正在抓取以下Web源: Manchester City's Fabian Delph limped off in the first minute of Englan ...

  3. 正则表达式把html中换行去掉,JS去除空格和换行的正则表达式(推荐)

    前几天在编程的时候,遇到一件问题折腾了很久才解决了,真把我气疯了!把一个字符串放到setTimeout里面没法执行方法,后来发现是因为字符串后面多了一个换行,不仔细看看不出来,使用正则表达式去除换行就 ...

  4. python 去除 txt文本换行

    python 去除 txt文本换行 将需要去除换行的txt文本文档,命名为 text.txt 运行py文件后,会生成 "去除换行后的文本.txt" def qchh():f1 = ...

  5. Python 按行读取文件内按分隔符分割字符串(去除空格和换行、字符串分割)

    a = "dba abc\n"print (a.strip()) print (a.split(" ")) print (a.split(" &quo ...

  6. JS 中去除空格和换行的正则表达式写法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. //去除空格 String.prototype.Trim = function() { return ...

  7. js 去除空格回车换行

    开发中遇到特殊需求,需要将空格回车换行替换成逗号 直接使用正则表达式解决: 变量.replace(/\s+/g,","); 如果想要去除则将后面逗号变成空就OK了. 转载于:htt ...

  8. python将空格变成换行_python之路(2)

    变量 通过桌面的开始菜单,打开python的IDLE 打开IDLE后,新建一个文件 保存一下 现在就可以开始我们的学习了 在下图中,被单引号围起来的  '123'  表示的是字符串,因为是由多个字符组 ...

  9. python将空格变成换行_Python基础之PEP8规范(代码写作规范)

    文章目录 1.缩进 2.命名约定 3.Python之禅 PEP8是Python的官方文档中提供的代码规范,结合这套规范,我顺便整理了一下自己的写代码习惯. 点这里查看PEP8官方原文,本文只节选了我自 ...

最新文章

  1. 总经费8.4亿的上海市脑科学重大专项进展如何?且看2019年度工作汇报会
  2. iPhone UITextField-更改占位符文本颜色
  3. Jedis连接Redis单机版
  4. 如何更加进一步的找到相关的信息呢?
  5. 【深度学习】基于深度学习的数据增广技术一览
  6. JavaScript全面学习(中阶)
  7. linux之安装mysql提示Error: Unable to find a match: mysql-community-server
  8. [转载]虚拟机磁盘空间已满的发现和解决
  9. PAT100000575-剩下的树
  10. java简单算法总结
  11. 简单解决 WIN10更新后 远程桌面提示 CredSSP加密Oracle修正的问题
  12. Uploading File using Ajax and receiving binary data in Asp.net (C#)[转]
  13. Java快逸报表展现demo_快逸报表展示图片—来自本地/网络的图片
  14. es6文档笔记(全)
  15. 单项选择题标准化考试系统设计c语言版
  16. GP数据库初始化失败定位
  17. linux rtc与时钟
  18. 任务管理器测试内存泄露
  19. 图片验证码和短信验证码开发
  20. 在百度地图上开启 测距的功能

热门文章

  1. Chrome 开发工具指南
  2. Telecoms Systems - PART.1
  3. Java计算1+2+...+n
  4. 程序员装机必备的软件
  5. python爬虫学习笔记-scrapy框架之start_url
  6. Cynthia项目缺陷管理系统
  7. 信号明确简单 顶底指标公式 通达信 副图 源码
  8. 油气计量比较好的软件_您准备好使用计量互联网了吗?
  9. 记录本地 Docker 新建镜像,推送到Daocloud
  10. Redis 客户端连接服务器失败