如何在 Notepad++ 中切换和合并文本行

如何在 Notepad++ 中切换和合并文本行

我正在使用 Notapad++,这里我遇到了两种情况,一种是涉及大型文本文件,其中包含供我的学生使用的动词变位列表,需要与 android 应用程序的数据库一起使用。

情况 1 有一些文本文件,我想每两行之间切换一次,这样第 2 行先于第 1 行,第 4 行先于第 3 行,其余文本文件也是如此。我的意思是,不是第 1、2、3、4、5、6 行,而是第 2、1、4、3、6、5 等行。

情况 2 在其他文本文件中,我想将每 4 行合并为一行,如下所示:从第 4 行开始,然后添加“-”号,然后是第 2 行的文本,“-”号,然后是第 1 行的文本,然后是逗号,然后是第 3 行的文本。

如果这让您感到困惑,我很抱歉。以下是一个例子。

我需要这个:

过去分词
过去
意义
动词

全部变成这样的一行:

动词 - 过去式 - 过去分词,含义

第一个文件的片段:

提交
说明
工程师 地板 和 父母
​ ​



第二个文件的片段:

改变
改变
改变
放松
放松
放松
邀请 邀请 邀请

​ ​


在此先非常感谢您的帮助。

答案1

好的,我现在已设法使用 Notepad++ 中的宏来完成这项工作。

需要澄清的是,宏允许您重复一组操作(一次又一次……),但您需要先“教” Notepad++ 您要做什么。因此,请严格遵循以下说明,否则您可能会得到无法正常工作的结果。

我不知道如何(或者是否确实可能)将宏导出为我可以在此处发布的格式,因此我将逐步介绍我使用的方法。

请注意,为了简单起见,我将仅解释如何使用宏来处理您的第一个案例(您的第一个文件),以免不必要地重复。此外,在尝试此操作之前,请确保您拥有原始文件的备份,以防出现预期之外的情况。

好的,开始吧:

  1. 打开 Notepad++,打开您的文件。

  2. 确保您位于第一行数据的开头,即您的案例中字典中第一个单词的第一行。

  3. 从“宏”菜单中选择“开始录制”

  4. 做你需要做的事仅限第一组数据就你的第一个文件而言,它将类似于:

    • 标记第一行
    • ctrl用+来删减X
    • 移至下一行的开头
    • ctrl插入用+剪下的线V
    • 移至下一行的行首

这里的最后一步很重要,因为您希望在下一次运行宏时处于“正确的位置”

  1. 现在从“宏”菜单中选择“停止录制”

  2. 从“宏”菜单中,选择“保存录制的宏”,并赋予其适当的名称,然后单击“确定”

  3. 现在(仍将光标放在下一行的开头)选择“宏”>“多次运行宏”,选择您在步骤 6 中保存的宏并选择“运行到文件末尾”,然后单击确定。

宏现在将遍历您的文件。如果您的文件很大,请务必等待一段时间才能完成!您现在应该看到宏已根据需要将所有行向下移动。

同样的原则可以应用于您的第二个请求,尽管这需要更高级的宏和更多录制的操作。但是,一旦您理解了概念并知道如何录制宏并播放它,它应该是可行的。

希望这对你有帮助!

答案2

情况2:

我相信你会喜欢互换线路,这样线路 2 应该先行,然后是线路 1

我们可以通过两个步骤实现这一点:

步骤1:

首先我们可以交换值:

apple
ball
cat
doll

找什么 :(.+)\r\n(.+)

用。。。来代替:\2\r\n\1

输出:

ball
apple
doll
cat

这将按 2 的顺序选择行并进行交换。您可以按如下方式增加此表达式

apple
ball
cat
doll

找什么 :(.+)\r\n(.+)\r\n(.+)

用。。。来代替:\3\r\n\1

输出:

cat
ball
apple
doll

以上是锁定三行并替换第三行和第一行

注意:请不要选择“环绕”选项

在此处输入图片描述

第2步:

现在可以将该行与以下表达式合并

ball
apple
doll
cat

找什么 :(.+)\r\n(.+)

用。。。来代替:\1\2

ball apple
doll cat

希望这可以帮助!

答案3

尝试这个:

情况 1:

تعليمات
instructions
مهندس 
engineer
أرضية 
floor 

按 Ctrl+H 访问替换对话框,勾选正则表达式,然后输入以下表达式。

找什么 :(.+)\r\n(.+)\r\n(.+)

用。。。来代替:\1\t\2\t

输出:

تعليمات instructions
مهندس engineer
أرضية floor 

情况 2:

Past participle
Past
Meaning
Verb

按 Ctrl+H 访问替换对话框,勾选正则表达式,然后输入以下表达式。

找什么 :(.+)\r\n(.+)\r\n(.+)\r\n(.+)

用。。。来代替:\1-\2-\3,\4

(您可以根据自己的意愿互换数字)

输出:

Past participle-Past-Meaning,Verb

希望这可以帮助!

相关内容