重组 numbers/words 内的标点符号

Reorganize numbers/words inside punctuations

我有一个文本是这样组织的,使用标点符号“|”来自最接近的示例:

hello: one|three|two|four|

或者有时表格是数字,而不是字母

hello: 1|3|2|4|

是否可以将单词或数字从第二个位置移到第三个位置,反之亦然?

变成这样(分别):

hello: one|**two**|**three**|four|
hello: 1|**2**|**3**|4|

我用“**”来标记变化。

找到以下正则表达式:

hello: +(?:\w+\|){N}\K(\w+)\|(\w+)

并替换为

|

其中 N 是您要交换的第一个单词之前的单词数。在您的示例中,N=1.

演示截图:

一定要勾选“正则表达式”模式。

这次有一个长代码的替代方案,可能有用
在大多数支持正则表达式的编辑器中...
Updated

查找:^(hello: \w+\|)(\w+\|)(\w+\|)
全部替换: