制作目录完好无广告内容的电子书

为什么有制作自己的电子书的想法

最近又发现了有意思的小说,很想阅读完整版,网上找来电子书下载,质量非常差,主要问题是有广告内容,如果是.txt格式的,则目录提取还不正常。我希望阅读一本目录正确完整,没有广告内容的电子书小说。

要解决的问题和思路
  1. 如何去除广告内容。
    我的思路是,先找来电子书的.txt文件,然后通过全局查找替换的方式,将所有重复多次出现的广告关键词全部替换成空内容。我不知道.epub文件能不能编辑,我发现有良好目录的.epub文件,但是不知道怎样去除里面的广告内容。
  2. 如何正确提取去了广告内容的.txt电子书的目录。
    我发现了一款工具,EasyPub,它的主要功能是帮我把.txt电子书根据固定格式提取内容目录,分章内容,再转化成.epub电子书。尤其是它里面根据正则表达式来匹配目录,这个功能很好,如果我们懂得运用正则表达式的话。
实际操作
  1. 去广告内容。
    用记事本打开.txt文件,使用其中查找全局替换功能将广告内容替换成空内容。
  2. 提取.txt文件的目录。使用EasyPub v1.5.0绿色版,把选定的.txt文件,根据自定义的匹配目录的正则表达式划分章节转换成.epub文件。
    制作目录完好无广告内容的电子书
难点

难点主要是正确提取.txt文件内容的目录,我找的的这本小说的.txt文件的目录有很多问题,它的目录形式是数字.标题,而且是单独一行,标题前后没有多余的内容。但是它不少地方出现了一些错误的重复目录,样式有:数字 标题,比如:170 人潮非法数字.标题,比如:900111388828.融合神格的金钟其他内容数字.标题,比如:1oo28重林巨蜥146.照片。我自定义了以下的正则表达式来匹配到正确的目录:^[0123456789]{1,4}\.\S*
这个正则表达式限定了合法标题一定是这样的:

  1. 它以数字而不是其他内容作为开头。
  2. 它的开头的数字位数不能大于4位。
  3. 紧跟着数字后面是一个点号。
  4. 点号后面跟着任意的文字。
结果和收获

新产生的.epub电子书没有了烦人的重复出现的广告内容,目录完整,正确,除了几条重复目录(即一模一样的合法目录)没有处理。在定义正则表达式时,对点号的处理一度有问题,那就是它不仅匹配了有点号的目录,也匹配没有点号的目录。后来才知道,是我在匹配点号时没有加\转义符。