如何用空格替换换行符,除非它是一行中唯一的字符

如何用空格替换换行符,除非它是一行中唯一的字符

我有一些文字,例如:

来自她耐心的
审视
和明智的批评。

JK

华盛顿特区

1919 年 4 月。

并希望将其保留如下:

来自她耐心的审视和明智的批评。

JK

华盛顿特区

1919 年 4 月。

我该怎么做?我知道您可以使用查找和替换工具轻松替换换行符,/r/n但我不知道该怎么做。

一些额外的步骤:如果前一行是空的并且只有一个换行符,我还想删除一个换行符。这可能吗?

我不太懂编程,但如果我需要使用 bash 或任何终端工具来执行此操作,那就没问题了。不过我希望我可以使用 4 个 CPU 核心,因为文本文件真的很长。

答案1

  • Ctrl+H
  • 找什么:(?<=\S)\R(?=\S)
  • 替换为: #一个空格
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

(?<=\S)     # positive lookbehind, make sure we have a NON space character before
\R          # any kind of line break
(?=\S)      # positive lookahead, make sure we have a NON space character after

给定示例的结果:

from her patient scrutiny and judicious criticism.

J.K.

WASHINGTON, D.C.

April, 1919.

屏幕截图:

在此处输入图片描述

相关内容