如何在Notepad++中使用正则表达式将所有内容移到一行上

33

我正在尝试使用正则表达式将我的文本文件中的内容(25行数据)合并为一行。

到目前为止,我已经成功地让Notepad ++通过搜索(^)来查找我需要的行,但是我不确定要用什么替换它。

从语法上讲,我正在寻找正确的脚本,它实际上将一行的开头附加到前一行的结尾。有人能帮忙吗?谢谢。


你的行是否以 '\n' 分隔? - sshashank124
你能否发布文件和期望的输出?这可能有点困难,但如果可以请尝试一下。 - aelor
5个回答

60

查找\R并替换为空字符串。

\R匹配多种换行符样式,包括最常见的\r\n\n

搜索模式必须设置为正则表达式


在Notepad ++中按下CTRL + H进入此屏幕后,请确保在“搜索模式”框中选择“正则表达式”,否则无法工作! - Alan Nelson
我已经找到了链接,它对我有用!!。 - Sivakumar

25
  1. 突出显示要连接的行(或使用Ctrl + A选择全部内容)
  2. 选择“编辑”→“行操作”→“合并行”或按 Ctrl + J .

如果必要,它会自动插入空格以防止单词粘在一起

作为替代方法,您可以

Ctrl + H

搜索模式 中选择 扩展

查找 - \r\n 替换 - 保留为空。


对于Sublime Text用户,可以通过选择"Edit → Lines → Join Lines" 或在Windows上按Ctrl + J;在Mac上按Command + J 来实现。我想知道如何只用正则表达式实现相同的功能(避免单词粘在一起),因为我想创建自动化脚本来处理不同类型的字幕和文本文件。 - adamlogan

5

^ 是一个锚点,意味着它不匹配任何字符(它匹配的是 \n 后面的位置,或者字符串的开头)。因此没有需要替换的内容。

如果您需要使用正则表达式(aelors的回答听起来很好 => +1),那么

 [\n\r]+

根据您的需求,将其替换为空格或删除。

3
您可以替换

标签。

[\r\n]+

使用空字符串(或替换\n+,如果您知道换行符是\n

2
您可以执行以下操作: 选中您想合并的所有行,然后按“Ctrl”+“J”

最好和最简单的答案。谢谢。 - FrenkyB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接