![如何在 Notepad++ 中切换和合并文本行](https://linux22.com/image/1427534/%E5%A6%82%E4%BD%95%E5%9C%A8%20Notepad%2B%2B%20%E4%B8%AD%E5%88%87%E6%8D%A2%E5%92%8C%E5%90%88%E5%B9%B6%E6%96%87%E6%9C%AC%E8%A1%8C.png)
我正在使用 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++ 您要做什么。因此,请严格遵循以下说明,否则您可能会得到无法正常工作的结果。
我不知道如何(或者是否确实可能)将宏导出为我可以在此处发布的格式,因此我将逐步介绍我使用的方法。
请注意,为了简单起见,我将仅解释如何使用宏来处理您的第一个案例(您的第一个文件),以免不必要地重复。此外,在尝试此操作之前,请确保您拥有原始文件的备份,以防出现预期之外的情况。
好的,开始吧:
打开 Notepad++,打开您的文件。
确保您位于第一行数据的开头,即您的案例中字典中第一个单词的第一行。
从“宏”菜单中选择“开始录制”
做你需要做的事仅限第一组数据就你的第一个文件而言,它将类似于:
- 标记第一行
- ctrl用+来删减X
- 移至下一行的开头
- ctrl插入用+剪下的线V
- 移至下一行的行首
这里的最后一步很重要,因为您希望在下一次运行宏时处于“正确的位置”
现在从“宏”菜单中选择“停止录制”
从“宏”菜单中,选择“保存录制的宏”,并赋予其适当的名称,然后单击“确定”
现在(仍将光标放在下一行的开头)选择“宏”>“多次运行宏”,选择您在步骤 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
希望这可以帮助!