在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', '')
结果如图:
对python感兴趣的可加QQ:3145679695一起学习交流分享