如何在Atom中替换换行符?

时间:2015-07-14 07:53:33

标签: regex atom-editor

在Atom中,如果我在搜索和替换工具上激活正则表达式模式,它可以找到换行符\n,但是当我尝试替换它们时,它们仍然存在。

是否无法替换Atom中的换行符?

5 个答案:

答案 0 :(得分:32)

看起来Atom将换行符与\r\n匹配,但在仅更换\n时却表现不一致。

因此,换行符似乎与\s+\r\n相匹配,只有“一半”的行结束匹配\n

  • 如果用字符串替换\n,则行结尾没有任何反应,但字符串会附加到下一行
  • 如果用字符串替换\r,则根本不会发生任何事情,但光标会前进。

答案 1 :(得分:21)

回答有点迟,但我使用以下术语进行搜索,它适用于Atom v1.19.7 x64

\r?\n|\r

BR

答案 2 :(得分:2)

您可以使用反向引用:

例如。用一个空白行替换三个空白行

查找正则表达式:(\ r \ n){3}

替换:$ 1

您可以使用(\ r \ n){2} ...或任何数字n的空白行(\ n \ n \ n \ n){n}指示双空行。你可以省略$ 1并将替换为空白以完全删除空白行。

如果你想用2个替换3个空行,你的替换字符串可以是$ 1 $ 1或$ 1 $ 2(甚至$ 1 $ 3 ... $ 3 $ 3 ... $ 3 $ 2 ...):$ 1只是指第一个圆括号表达\ r \ n;第二个是$ 2(与第一个相同,所以$ 1 $ 1替换为$ 1 $ 2的相同方式,因为$ 1 == $ 2)。这推广到n个空行。

答案 3 :(得分:1)

使用ATOM删除代码中不可见的线路突破 (使用“在缓冲区中查找”功能)

( - 使用Atom-Editor打开您的代码文件)

  • 点击键盘上的cmd(mac)/ ctrl(win)+ f,激活Find in buffer功能(底部原子屏边缘会出现一个小窗口)。

  • 标记您要删除不可见换行符的代码。

  • 单击标记模式按钮,然后在正则表达式模式(。*)按钮上,键入第一个字段:\ n

  • 然后点击全部替换。

[Atom将删除\ n指示的所有不可见换行符(如果你使用LF模式右下角,对于CRLF模式(默认情况下在Windows机器上很常见)使用\ r \ n)替换它们什么都没有。]

希望有所帮助。

Synaikido

答案 4 :(得分:0)

纯粹主义者可能不喜欢我的解决方案,但您也可以通过复制带有多个换行符的内容并将其粘贴到查找/替换输入中,将查找和替换输入转换为多行文本框。它可以使用或不使用正则表达式。

例如,您可以复制这3行并将其粘贴到查找和替换输入中:

line 1
line 2
line 3

既然您的输入具有您需要的行数,您可以根据需要修改它们(并在必要时添加正则表达式)。