如何快速分离奇偶行的文本?

我一直认为普通用户学一点编程也是极好的,不一定真的写什么程序,但是给自己带来的便利真的是可感知的。

或者退而求其次一些,那么学一些正则表达式也是性价比很高的。

然而……唉,我的教学生意何止门可罗雀,就……嘤嘤嘤


正经回答,讲一下用正则表达式的方法吧,可能容易理解一些。首先把文件备份好,以防万一搞错,现在我们称最初这份文件为原始文件,简称:源文件。

在源文件里搜索 :(.*\n).*\n,解释一下:

  • . 代表任意字符
  • * 表示前面的字符出现 0 或者多次
  • 正则表达式默认贪婪匹配,就是说尽可能匹配最长的情况,所以上面两个连起来可以匹配一整行的内容
  • \n 代表换行
  • 现在如果忽略小括号,就很容易看出这是匹配了两行内容。

注意,搜索时要开启对正则表达式的支持。

然后小括号表示分组,现在这里只有一个组,就是第一行的内容,我们用 $1 来标识。于是搜索 (.*\n).*\n 并替换为 $1 就实现了每两行的内容替换为这两行中的第一行,结果就是只剩下了奇数行的内容。

偶数行同理,把分组放后面就行了,记得回源文件重新查找替换。

9 个赞