Notepad ++,有条件地替换CR LF

时间:2017-12-27 00:48:13

标签: notepad++

我有一个文本文件如下:

Conduit 1 CRLF
10 CRLF
23 CRLF
Conduit 1 CRLF
22 CRLF
12 CRLF
etc.

使用notepad ++我试图确定哪些搜索/替换语句可用于用标签替换CRLF,但仅当以下行不以Conduit开头时。

我要找的结果如下:

Conduit 1 tab 10 tab 23 CRLF
Conduit 1 tab 22 tab 12 CRLF

我知道在替换中使用\ t和\ r \ n找到所有的CRLF,但我只是不确定如何有条件地执行替换。 任何见解将不胜感激。

谢谢

克里斯

2 个答案:

答案 0 :(得分:1)

使用否定前瞻:

<强>查找

\r\n(?!Conduit)

<强>替换

\t

正如您可能猜到的那样,查找模式只是在CRLF之前,并断言单词Conduit 开始下一行。只有在这种情况下,我们才能用标签替换CRLF。

按照以下链接进行(预制)演示。我不知道如何在演示中输入CRLF,所以我在测试数据和正则表达式中留下了文字CRLF,但你可以看到它正在工作。

Demo

答案 1 :(得分:0)

如果您只想将其格式化为简单的列和行,可以在搜索和替换框中执行以下操作(Ctrl + H)。

将其设置为正则表达式

找到:

  

(Conduit \ d +)\ r \ n(\ d +)\ r \ n(\ d +)

替换为:

  

\ 1 \吨\ 2 \吨\ 3

原始输入:

Conduit 1
10
23
Conduit 1
22
12

制作:

Conduit 1   10  23
Conduit 1   22  12