Python中字符串String去除出换行符(\n,\r)和空格的问题

在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题。

方法:

一、去除空格

“ · ”代表的为空格

<mark style="box-sizing: border-box; outline: 0px; background-color: rgb(248, 248, 64); color: rgb(0, 0, 0); overflow-wrap: break-word;">strip()</mark>

"···xyz···".strip()            # returns "xyz"  
"···xyz···".lstrip()           # returns "xyz···"  
"···xyz···".rstrip()           # returns "···xyz"  
"··x·y·z··".replace(' ', '')   # returns "xyz" 

二、替换 replace("space","")

replace("\n", ""),与 replace("\r", ""),后边的内容替换掉前边的。

实际问题:

如图:

string中内容

这里写图片描述

其中,“ · ”代表的为空格,一段话被换行成了几段。

1.使用 .strip() 只能够去除字符串首尾的空格,不能够去除中间的空格。如图:

这里写图片描述

所以需要使用 .replace(' ', '') 来替换空格项。string.replace(' ', '')。如图:

这里写图片描述

2.使用 .replace('\n', '') 去除换行。如图:并不能达到效果。

这里写图片描述

原因在于:在python中存在继承了 <mark style="box-sizing: border-box; outline: 0px; background-color: rgb(248, 248, 64); color: rgb(0, 0, 0); overflow-wrap: break-word;">回车符\r</mark> 和 <mark style="box-sizing: border-box; outline: 0px; background-color: rgb(248, 248, 64); color: rgb(0, 0, 0); overflow-wrap: break-word;">换行符\n</mark> 两种标记。

\r\n 都是以前的那种打字机传承来的。

\r 代表回车,也就是打印头归位,回到某一行的开头。

\n代表换行,就是走纸,下一行。

linux只用\n换行。

win下用\r\n表示换行。

python中同样一句话:print (u'前面的内容\r只显示后面的内容')

所以,在去除换行时,需要同时去除两者才行,即使用

.replace('\n', '').replace('\r', '')

结果如图:

这里写图片描述

有意者可加QQ:3271330538 进行交流 点击666可领取

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容