【问题标题】:Replace continuous occurrence of "\n" with a single "\n" in python在python中用单个“\n”替换连续出现的“\n”
【发布时间】:2014-10-28 21:29:55
【问题描述】:

我有一个包含多个空行的文本文件,我想删除这些空行。 我能想出的唯一解决方案是用单个“\n”删除“\n”的出现。我知道这可以使用正则表达式来完成,但不知道如何在 python 中完成。我用谷歌搜索了很多,但没有用。

【问题讨论】:

  • 什么没用?你能告诉我们你尝试了什么吗?你能给我们样本输入和预期输出吗?尝试包含应该更改的示例行。

标签: python regex string python-2.7 newline


【解决方案1】:
import re
txt = re.sub('\n+','\n',txt)

用一个换行符替换任何包含 1 个或多个换行符的序列。

【讨论】:

  • 谢谢。这是一个快速的答案并且有效。 5 分钟内接受:D
  • 您确定不需要使用原始字符串:re.sub(r'\n{2,}', r'\n', txt)
  • @CasimiretHippolyte 在这种情况下不需要,因为\n 是普通字符串中的新行。
  • @khelwood 在接受一次但不是两次或两次以上的情况下,此表达式不起作用:re.sub(r'\n{2,}', r '\n', txt)
  • @user140259 我不明白你的评论是什么意思。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 2014-04-24
  • 2021-07-25
  • 2020-03-05
相关资源
最近更新 更多