python 去除多个换行

    今天就为了把一个字符串里的多个换行去掉,竟然忙活了一个下午,真是让大牛们笑话了。

    事出有因,一个字符串如下    

==========================

XXX


手机:1XXXXXX


邮箱:


XXX@XXXX.com



Q Q:XXXXX
===========================

目的是要把其中的空行去掉,显得更加美观,最先想到用字符串,定义a为以上内容,用replace方法,可是由于不确定每行间有几个换行\n,所以也无法直接用\n替换。于是想到用正则表达式,但是试着写了几个办法,如re.sub('\n+','\n',a),但也没成功,没有一行替换成功,不知道为什么没有找到\n。直接被\n搞晕了,转义字符真是麻烦。

其实,正是因为要替换\n,所以可以用字符串splitlines()和strip()命令,取出每行形成列表,然后去掉列表前后的转义字符,此时所有文字会变成一行,因为在去掉转义字符后,再加上一个'\n'即可。具体代码都觉得没必要写了,竟然折腾了好一段时间,哎。

for tt in a.splitlines():
tt=tt.rstrip()+'\n'
pp=pp+tt



原文地址:https://www.cnblogs.com/xiaowuyi/p/2425596.html