如何在 Notepad++ 中重新排序以管道分隔的列?

Luc*_*fer 8 notepad++

我正在尝试按以下方式重新定位 .txt 文件中的每一行。但是,我不知道如何去做。Notepad ++可以做到这一点吗?

来自
苹果|
apple123@aol.com|橙色芹菜| celery@aol.com|卷心菜
三明治|sandwich@aol.com|turkey


apple|orange|apple123@aol.com
celery|cabbage|celery@aol.com
三明治|土耳其|sandwich@aol.com

ber*_*ieb 15

重新排序文本文件中的列

是的,这在 vanilla 中是可能的Notepad++,尽管如前所述,也有插件可以做到这一点。更好(更健壮)的方法可能是使用一些命令行文本处理工具,但如果您需要一个快速而肮脏的解决方案,您可以在下面找到:

假设您的确切输入(col1|col2|col3,管道分隔符,没有管道输入col2):

查找(.*?)\|(.*?)\|(.*)

替换\1|\3|\2

对我Notepad++有用,建于 2015 年 1 月。有点粗鲁,但它有效。

解释:

.* - 匹配任何字符(换行符除外),介于零次和无限次之间

.*?- 以非贪婪的方式匹配上述任何字符(换行符除外)(即尽可能少地匹配)

(.*)-普通的括号内的捕获组的上述(在使用中更换为例如\1\2\3等等)

\|-\转义管道 ( |) 以匹配它的字面意思

\1|\3|\2- 打印第一个匹配组,管道,第三个匹配组,管道,第二个匹配组