海量书名 无用尾巴巧去除

张楚华2014-10-15 09:01应用 标签:技巧

下载了一批epub电子书压缩包,解包后发现书名后面都带有一个由-号加1到13位数字组成的无规律字串,如何快速去除书名中这些对读者毫无意义的字串呢(图1)?

 

201203asw-书名尾巴1

因为字串中的数字前后没有规律可循,字串长度也是不固定的,如果用更名软件的成批替换功能,不好构造“查找”表达式,即使是用更名软件的通配符功能也很难实现。后来还是想到一个解决方法,具体思路是:先将文件列表导出为一个TXT,然后对TXT文件中的文件名用EmEditor的正则表达式来替换消除,最后将载有更名后的文件列表的TXT文件再导入到更名软件中,执行TXT文本文件更名,实现对不限量不规则文件名无用尾巴的去除。具体实现方法如下。

导出文件列表为List.TXT

用文件更名软件“拖把更名器”将要改名的所有epub电子书文件载入到其更名窗口,然后点击软件工具栏上的“导出当前文件列表”按钮(图2),将所有文件的列表导出为一个TXT文件(如:List.TXT)。

201203asw-书名尾巴2

用正则表达式消除字串

将上面得到的List.TXT载入文字编辑软件EmEditor中,用快捷键Ctrl+H启动“替换”窗口,在“查找”文本框中输入(-.*)(-.*$)字符串,在“替换为”文本框中输入\1字符串,然后选中下面的“使用正则表达式”复选框,去掉“仅在选定范围内”复选框的选择,最后单击“全部替换”按钮,完成文件名末尾无用字符串的成批消除替换(图3)。

201203asw-书名尾巴3

引入替换后的TXT文件来更名

返回到“拖把更名器”窗口,点击工具栏上的“调用文本文件更名”按钮,调入刚才成批提换过内容的List.TXT文件,这时从“预览”一栏中马上可以看到将来更名后文件名的显示情况,确认没有问题后,按动快捷组合键Ctrl+E,实现成批文件的一次性更名操作。

这样,更名之后的所有文件名的无用尾巴都去除掉了(图4)。

201203asw-书名尾巴4

小提示:关于正则表达式的说明

在本例的“查找”文本框中用到了一个正则表达式(-.*)(-.*$),它是有两个部分组成的,每部分均由两组半角小括号构成,第一组(-.*)查找每个文件名中由-号打头的第一串字符,第二组(-.*$)则是查找每个文件名中由-号打头的最末一串字符。为何不只用后面一组字符表达式?因为如果只用后面一组,则会查出连同有用信息在内的字串内容,达不到我们的目的。只有使用这样两组的搭配,才能将有用的带-前缀的信息和无用的带-前缀的信息区别开来,你不妨亲自一试便知。两组小括号构成的字串分别暗含了两个编号,第一组为1号,第二组为2号。在“替换为”文本框中使用的\1表达式正式要保留查找出的第一串有用字符,没有引用第2串字符,目的也就是要丢掉第2串无用字符,正好达到我们的目的。