hao0089 发表于 2015-4-26 09:22:56

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
  
页: [1]
查看完整版本: python 去除多个换行