格式乱糟糟 一键齐刷刷

凯文2014-08-21 08:58应用 标签:一键 格式

小丸子是一个韩剧迷,多年来他收藏了许多韩国连续剧。为了实现完美收藏的梦想,他希望将视频网站上的韩剧列表复制下来以便与自己收藏的加以对比。复制收藏列表看起来是个很简单,但在具体实施时遇到了麻烦。

小丸子在PPTV在线视频网站页面上看到的是格式整齐划一的韩剧列表信息(如图1),但当他将一个页面复制为TXT文件时,成了一堆离自己需求相差很远的多行文字(如图2)。小丸子希望获得的文件列表格式为形如图3所示这样整齐划一。显然,复制下来的项目的顺序也不是自己希望的,而且还有多余的无用项。那么,如何才能从一堆顺序不对且含有无用信息的文字中抽取并重新组合出自己需要的文件列表呢?

1316asw-GSQSS-1

01

1316asw-GSQSS-2

02

1316asw-GSQSS-3

03

列表获得与初步整理

首先将所需网络剧集信息复制到一个TXT文件中,接着通过EmEditor的去除空行插件工具,一次性删除所有的空行,让行与行间保持连续。

表达式的构造与替换

通过分析每部连续剧信息,找出规律,构造“查找”表达式,然后再根据“查找”表达式中的已有信息,按需组合出一个“替换”正则表达式。

根据如图2所示的剧集信息可知,每部连续剧的信息由5段组成,我们要对这5段信息分别构造表达式,然后再连接成一个表达式。具体描述为:

^(.*集全.*$)\n(.*$)\n(.*$)\n(.*$)\n(总人气.*$)

小提示:

每组小括号表示定义一组表达式并依次赋予该表达式一个数字代号1、2、3、4、5;^表示从行首开始查找;$表示查找到行尾;.*表示若干个任意字符;\n表示换行符号。

接下来构造“替换”表达式。根据以上所述需求,要从5段表达式中提取出对自己有用的3段替换表达式。具体表达式表述如下:

\[\2\]\[\1\]\[\3_\4分\]

其中\[和\]表示给信息段加上半角中括号;\2\1\3\4表示引用对应的4组信息;\[\3_\4分\]表示由第3、第4两组信息配合下划线、“分”字符合并成一组信息。

1316asw-GSQSS-4

04

最后,执行“全部替换”命令。转眼间,自己需要的信息就提取组合完成了(图4)。这样,只用简单的两行字串,几千部电视剧瞬间完成提取工作,是手工整理所无法比拟的。

扩展阅读:

本文所述替换法也可用在其他需要从TXT文本中调换行的位置和合并文字的场合。只要每个块段行的分布顺序有一定规律性,就可以套用该方法。