Macros 如何使用记事本中的宏查找和替换两个文件++;

Macros 如何使用记事本中的宏查找和替换两个文件++;,macros,notepad++,Macros,Notepad++,我尝试了多种不同的方法用宏替换两个文件之间的文本,但我无法让它工作。我对记事本++中录制宏的理解是,您只能使用击键来执行命令,而我就是这么做的,当我播放它时,它不会替换任何东西 文件1 7248683:1 9476913:467 7603090:2367 2033565:24 4730634:56789 6815648:325 2032668:57893 7930455:53 2199279:569231 8913826:6783 文件2 user:2199279 user:4730634

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

文件1

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

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

我试图将文件2中的7248683替换为文件\u 1中冒号右侧的数字,在本例中,冒号为1,依此类推整个文件\u 2文档。

您可以通过以下方式自动替换: 在新的Notepad++文档中,粘贴文件_2的内容,然后将文件_1的内容放在同一文档中文件_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
现在执行正则表达式查找和替换(选中“.matches newline”旁边的框):

查找内容:

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

您可以通过以下方式自动进行替换: 在新的Notepad++文档中,粘贴文件_2的内容,然后将文件_1的内容放在同一文档中文件_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
现在执行正则表达式查找和替换(选中“.matches newline”旁边的框):

查找内容:

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

我将根据冒号(基于分隔符的分隔字符串)对Excel中的列执行文本转换,然后对用户id代码执行vlookups,并在file1的答案中使用管道。我认为您使用宏的方法可能过于做作。您可以在vba中找到replace。我将根据冒号(基于分隔符的分隔字符串)对Excel中的列进行文本处理,然后对用户id代码进行vlookups处理,并在file1的答案中使用管道。我认为您使用宏的方法可能过于做作。您可以在vba中找到replace。