在 Notepad++ 中用新行替换字符的每个第 n 个实例

Pie*_*erk 10 notepad++ regex string-manipulation

我有一个管道分隔的字符串NAME|VALUE对,看起来像这样..

Name1|Value1|Name2|Value2|Name3|Value3
Run Code Online (Sandbox Code Playgroud)

我想要做的是|用新行替换每第二个实例,以便我有这样的东西..

Name1|Value1
Name2|Value2
Name3|Value3
Run Code Online (Sandbox Code Playgroud)

我的问题不是换行,因为我知道我可以使用\r\n它,而是正则表达式部分只替换|.

Mát*_*ász 12

查找:([^\|]*\|[^\|]*)\|
替换为:\1\n


Dav*_*ill 5

我想替换 | 的每隔一个实例 换一条新线

  • 菜单“搜索”>“替换”(或Ctrl+ H

  • 将“查找内容”设置为(.*?\|.*?)[\|]

  • 将“替换为”设置为\1\r\n

  • 启用“正则表达式”

  • 点击“全部替换”

    在此输入图像描述

Name1|Value1|Name2|Value2|Name3|Value3
Run Code Online (Sandbox Code Playgroud)

Name1|Value1
Name2|Value2
Name3|Value3
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 以上假设您正在使用 Windows EOL 编辑文本文件,\r\n.

  • 如果您使用具有不同 EOL 的文件,您可以使用菜单“编辑”>“EOL 转换”将它们转换为 Windows EOL。

  • 如果您不使用 Windows EOL,并且不希望转换它们,请改用以下命令:

    • 用于\n代替\r\nUnix/OS X EOL

    • 用于\r代替\r\nMac OS(最高版本 9)EOL


进一步阅读