把 TXT 文档转换成带目录的 MOBI 格式电子书

“转换电子书格式”相关阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 220 条留言

  1. 我已经改好了对应的目录,
    (例如:
    ##第一卷 XXXX
    ###第一章 XXXX)
    但我想将它们提取出来检查一下,该怎样搜呢?
    尝试过【^(#*)(.*)$】这样搜,但出来的就是原文……
    使用emeditor

          • 标题是单独一行,不过正文如果有“、”的,它会一并选上。我用Sublime Text3试过了

            • 嗯,那个确实是错的。请尝试这个,查找:^([一二三四五六七八九十零〇百]+、.*),替换为:###\1

              • 有没有这样的一种表达方式的,就是 数字+后面限定多少字符(如三到六个字符,一般目录字数都不多的)+空格(这个是为了防止将正文有数字的也一般选上)。我觉得如果有的话,基本上这个可以作为标准的目录生成方式了

                • 限定字符是可以做到的,但是这并不能一劳永逸,因为标题长短并不一样,而且标题的规则也不尽相同,还得根据具体情况使用相应的正则表达式。

  2. 请问这种怎样转?
    第一卷 鬼笔
    第一章 *****
    第二章 *****
    ……………………
    第二卷 阴森
    第一章 *****
    第二章 *****

    • hua 您好。您贴的示例氛围卷、章两部分。先替换“卷”:查找 ^( |)第(.*)卷 替换成 ##第\1卷;然后替换“章”:查找 ^( |)第(.*)章 替换成 ##第\1章。这样就可以了。手动替换比较麻烦,您可以使用 EasyPub 这个软件转换 TXT,更方便一些。

  3. 您好。请问如果我的书每个都带书名在前面怎么办,查找替换正则表达式代码?
    如下:

    都市之最强纨绔 正文 第九百九十五章 全能型天才?

    都市之最强纨绔 正文 第九百九十六章 生死毒浴!比你更疯!

    • Cnivlek 您好。书名都是相同的,查找替换的时候都带上即可,如查找:都市之最强纨绔 正文 第(.*?)章 (.*),替换:都市之最强纨绔 正文 ###第\1章 \2。如果替换后不想带书名,则查找的时候带上书名,替换规则去掉书名即可。

  4. 您好。请问如果我的书每个都带个卷名,我想先分卷再分章节怎么办?
    比如 每一章都是 第xx卷 xxxx 第XX章 xxxx

  5. 你好,我想请问一下,我一直按照文中的记录中规中矩的弄目录。然后一直转不出来。我觉得我选的文好像也挺正的,请问下问题出哪儿呢。应该怎么转呀,谢谢!
    文章格式:
    寓所迷案 – 寓所迷案

     

    第一章
    我不知道到底从哪儿开始这个故事,但是我还是选择了某个星期三在牧师寓所的午餐时分开始。席间的交谈大部分与将要叙述的故事无关,但还是包含得有一两件有启发的事件,这些事件会影响到……

    第二章
    ……

    输入:查找:第(.*)章 替代:###第\1章

    但是一直显示 unable to find。。

    谢谢!

  6. 你好,我用 Sublime Text 2打开TXT文件是乱码,请问是出了什么问题呢?

    • 鲁小胖 您好。有一个小技巧可以解决这个方法:先用浏览器打开 TXT 文档,浏览器会自动识别其编码并正确显示文本,然后全选拷贝粘贴到 Sublime Text 中即可。

  7. 麻烦问一下
    如果是  1 面基
    2 吻
    3 梦
    ….
    这样的话 该怎么在前面加“###”?

    如果是 第001章 .出国交换
         001.出国交换
    第002章 .温柔的学长
        002.温柔的学长
    ……
    这样,该怎么改….

    谢谢。 :)

    • sun 您好。这是两个问题吧。

      1、查找:^(\d) (注意括号后面有一个空格),替换:###$1
      2、查找:^第(\d+)章 (\.),替换:$1$2

      • 非常感谢!! 每次都很快的就回答了呢 还回答的特别细心。真的是谢谢呢!!

        • 不顶格的话就不要使用 ^。如果标题是单独一行,也可使用以尾部为基准的查找规则:.*(\d.*)$,然后替换成:###$1

          • 呃呃我试了一下不可行.. 会把其他的也都带进来的..

            于是我很机智的用Find:(\d) 然后replace with:\n第$1章
            然后两位数的标题就用(\d)(\d) 和\n第$1$2章
            以此类推… 没想到成功了?
            接下来就用普通的方式加###就好了.. ?

            但是前面的第二个.. 貌似也不成功呢.. 怎么办? 第二个试了之后唯一的改变就是少了个空格 其他什么都没变… 该怎么改?

            • “把其他的也都带进来”说明不满足“标题是单独一行”这一条件。如果直接查找 (\d) 替换有可能会把正文中的数字也替换掉。

              如果本文内容是你留言所给出的那样,第二个规则是有效的。不生效需要检查下内容是不是如你所说的那样,我给出的规则适合于标题是顶格且为单独一行的情况。

              因为文本内容比较多样,并没有一劳永逸的规则可用,都需要看一下都有什么同样的规则,然后结合不同的规则使用。

  8. 为何我在sublime_text里打开txt文件后显示的是ÕýÎÄ µÚÒ»Õ£ºÆßÄê´ºÃÎ这些呢?

    • shawshaw 您好。这是编码问题。如果使用的是 Windows 试试用“记事本”打开,然后另存为 UT8 编码。还有一个方法就是,用浏览器打开 TXT 文档,一般会自动识别正确的编码,然后再把那些文字全选拷贝下来。

  9. 站長你好,我習慣用Calibre將TXT轉mobi,在排版格式上雖沒太多強迫症候群,但有一點我一直很疑惑:kidle系統字體內設4種簡體(也支援繁),2種繁體,但一般TXT轉成繁體mobi,到kindle機器裡看都是看到4種字體的版本。
    如果想預設系統是給兩種宋、黑兩種字體(繁體)的話,應該要去Calibre哪邊設定呢?這問題困擾我很久了,因為平常看橫排簡繁體mobi比較沒差,但如果是豎排繁體mobi,這兩種對標點符號的正確顯示就差很多了(4種簡體在直排會偏旁、有些標點沒轉90度,但僅在kindle電子書上會這樣,同樣的檔案在電腦kindle viewer是正確顯示的),我看中亞有些繁體書、網上自製mobi,有些顯示預設字體是2種繁體版的,不知道這種小細節應該在哪設定…盼強者能幫我解答,感激不盡!

    • alecto 您好。简体电子书显示四种中文字体,繁体电子书显示两种中文字体。电子书是简体还是繁体是由电子书中设置的语言决定的,在 Calibre 中虽然可以通过修改元数据的方式修改语言,但中文只有“中文”一项,并没有区分开简体和繁体。

      当然解决办法是有的,可以通过修改电子书源文件的方式修改电子书语言。思路是这样的:首先把需要修改的 mobi 文件用 KindleUnpack 拆解成源文件,然后找到一个后缀名为 .opf 的文件并用代码编辑器(如 Sublime Text、editplus 等)打开,找到下面这行代码:

      <dc:language>zh</dc:language>

      将其修改为如下所示代码:

      <dc:language>zh-tw</dc:language>

      最后再用 KindleGen 重新把修改好的源文件转换成 mobi 格式。这样横排标点就会自动将转换为竖排标点,并且会自动居中,较为美观。选择字体的时候也就能选择“宋體”和“黑體”两款繁体字体了。

      P.S. 这个方法在《如何把 Kindle 电子书的横排文字改成竖排》这篇文章中也提到了。其实除了设置竖排这一步骤,就是把一本书设置成可选择繁体字体的方法。

      • 非常感謝站長詳細且幫了大忙的回答,剛剛還在想是不是unpack以後需要改css文件,但又困擾不知那兩個繁體黑、宋字型的字型檔名,沒想到直接在opf這邊直接改dc就能讓系統直接抓內建繁體了!給你一萬個讚!

  10. 请问为什么在calibre上是有目录的,但是在kindle上无法显示目录呢?谢谢。

    • kindle用户 您好。电子书有两中目录,一种是导航目录,也就是点击“前往”按钮看到的那个目录。另一种是页面目录,它属于电子书正文内容。您在 Calibre 中看到的应该是导航目录,如果想在正文中显示目录,需要生成目录页面。

  11. 如果所有标题都是
    ☆、哔哩哔哩~
    ☆、哔哩哔哩~
    ☆、哔哩哔哩~
    这样.. 怎么把它变成
    第一章 哔哩哔哩~
    第二章 哔哩哔哩~
    ……
    之类的?

    谢谢

    • 嘉琪 您好。1、查找“卷一”使用正则“卷(.*):”;2、可以把“第1回”替换成“第1章”,正则查找“第(.*)回”,替换为“第$1章”。如果想把“12345”一次性换成“一二三四五”,单纯正则无法实现(或者能实现我却不会)。

  12. 卷一:、卷二:卷三:……和第1回、第2回、第3回……这两种的怎么替换