在Atom中,如果我在搜索和替换工具上激活正则表达式模式,它可以找到换行符\n
,但是当我尝试替换它们时,它们仍然存在。
是否无法替换Atom中的换行符?
答案 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
既然您的输入具有您需要的行数,您可以根据需要修改它们(并在必要时添加正则表达式)。