如何在记事本++

时间:2017-07-08 22:29:52

标签: macros notepad++

我尝试了多种不同的方法来使用宏替换两个文件之间的文本,但我无法让它工作。我在记事本++中记录宏的理解是,你只能使用击键来执行一个命令,我只是这样做,当我回放它时,它不会取代任何东西。

File_1

7248683:1
9476913:467 
7603090:2367
2033565:24
4730634:56789
6815648:325
2032668:57893
7930455:53
2199279:569231
8913826:6783

File_2

user:2199279
user:4730634
user:7248683
user:8913826
user:2032668
user:7930455
user:9476913
user:6815648
user:2033565
user:7603090

我正在尝试将file_2中的7248683替换为file_1中冒号的数字右边,在这种情况下为1,在整个file_2文档中依此类推。

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式自动执行替换: 在新的Notepad ++文档中,粘贴File_2的内容,然后将File_1的内容放在File_2内容下的同一文档中,如下所示:

user:2199279
user:4730634
user:7248683
user:8913826
user:2032668
user:7930455
user:9476913
user:6815648
user:2033565
user:7603090

7248683:1
9476913:467 
7603090:2367
2033565:24
4730634:56789
6815648:325
2032668:57893
7930455:53
2199279:569231
8913826:6783

现在进行正则表达式查找和替换(选中“。匹配换行符”旁边的框):

找到:

user:(\d+)(.*?^\1:(\d+))

替换为:

user:$3$2

如果没有很多替换品,您可以继续按“替换”按钮进行所有替换。否则,您可以使用宏来重复替换。

对示例数据执行的结果:

user:569231
user:56789
user:1
user:6783
user:57893
user:53
user:467
user:325
user:24
user:2367

7248683:1
9476913:467 
7603090:2367
2033565:24
4730634:56789
6815648:325
2032668:57893
7930455:53
2199279:569231
8913826:6783