记事本将两行合并为一行

记事本将两行合并为一行

抱歉我的英语不太好,我尝试形象化地解释我的问题。

我有两个单词列表,每行一个,每个列表位于单独的文件中:

文件 1:

白色

绿

红色
皮罗斯

文件 2:

白色
blanco
绿色
verde
红色
roja

我需要合并这些列表,删除所有重复项并创建一个包含以下内容的新文件:

白雪
皑皑

绿色
海岸

我是 Notepad++ 的新手,无法解决这个问题。

答案1

这看起来像是 stackoverflow 上的一个重复问题:https://stackoverflow.com/questions/3958350/removing-duplicate-rows-in-notepad

主要解决方案是安装 TextFX 插件。然后将所有内容放在一个文件中,并使用 TextFX 进行排序和删除重复项。

答案2

据我了解,您有两个翻译文件,从英语到匈牙利语和从英语到意大利语(?)。您想要使用英语作为关键字来合并意大利语和匈牙利语,对吗?

我的解决方案只适用于需要转换的文件不多但可以手动完成步骤的情况。重要的是,您要检查两个文件中的每一对语言的交替模式是否正确。

首先,在 Notepadd++ 中打开两个文件,然后按 CTRL-F 或 Edit->Find/Replace... 打开 Find/Replace,然后单击 replace 选项卡。选择正则表达式搜索方法,然后输入以下内容进行查找:

^(.*)\r\n(.*)$

使用“查找下一步”您可以检查它是否同时选择了两行。

要替换,请输入:

\1 \2

将光标移到文件开头,然后尝试单击“查找”和“替换”。它应该将单词从 写到 连续的行,并用空格分隔。如上所述,对两个文件执行此操作。现在,您在第一列中获得了两个文件的关键值(如果我理解正确的话)。如果两个文件的第一列现在在各自的行中包含完全相同的单词,则可以继续。它们应该看起来像这样:

white fehér
green zöld
red piros

white blanco
green verde
red roja

您发现两个文件中的第一列完全相同。现在使用列模式(按住 alt 键并从第二个文件中选择任何内容)。选择第二个文件中的任何内容。按 CTRL-C(编辑 -> 复制)。打开第一个文件,在第一行末尾插入足够多的空格,使其超过该文件中最长的行。然后按 CTRL-V 添加第二个文件中的内容。应该看起来像这样:

white fehér white blanco
green zöld green verde
red piros red roja

现在您必须通过查找/替换来删除键。查找:

^([^ ]*) ([^ ]*) *(.*) (.*)$

代替:

\2\r\n\4

现在看起来应该是这样的:

fehér
blanco
zöld
verde
piros
roja

瞧!希望这能有所帮助!

相关内容