Notepad++ - 将下面的行移动到上一行

问题描述 投票:0回答:2

我需要帮助才能使用 Notepad++ 将行从下面的文本移动到上一行。

我可以使用正则表达式吗?

PID: AIR-CAP3502I-T-K9,  VID: V01,  SN: 0000000000
                                                   Inventory for XXXXXXXXXXX
PID: AIR-CAP3502I-T-K9,  VID: V01,  SN: 0000000000
                                                   Inventory for XXXXXXXXXXX
PID: AIR-CAP3502I-T-K9,  VID: V01,  SN: 0000000000

[在此输入图像描述]

TM

我尝试使用一些正则表达式,但它没有按预期工作。

Search: \n(.+)$
Replace: $1

Search: \n(.+)
Replace: $1
regex notepad++
2个回答
0
投票

假设您想将

Inventory for
行移动到前面的行,并用空格分隔,您可以在正则表达式模式下使用以下查找和替换:

Find:    \R\s{5,}
Replace: (single space)

演示

图案说明:

  • \R
    匹配 LF
    \n
    或 CRLF
    \r\n
  • \s{5,}
    然后匹配 5 个或更多空格(任意)引导下一行

然后,我们只替换为一个分隔空格。


0
投票

正则表达式

\n(.+)$
将匹配换行符后面的任何内容,直到行尾。但是,您似乎想匹配以“PID”开头的任意两行,然后删除中间的换行符。

这有效:

^PID(.*)\r\n(.*)$
PID$1 $2

请注意,Notepad++ 使用的正则表达式方言对于

\n
来说不是很聪明,因此要匹配 Windows 换行符(即 CR+LF),您必须专门使用
\r\n
(并确保正则表达式引擎不会匹配换行符
.
)

© www.soinside.com 2019 - 2024. All rights reserved.