如果你喜歡看小說,對 TXT 文檔應該不陌生,,但是如果直接將下載到的 TXT 文檔轉換成 mobi 格式放到 Kindle 中閱讀,,就會出現(xiàn)一個問題——缺少目錄,你不得不線性閱讀不敢跳頁,,很不方便,,那有沒有一種有效的方法可以把 TXT 轉換成帶目錄的電子書呢? 答案是肯定的,。不過要轉換的 TXT 文檔內(nèi)容的章節(jié)標題要有一定的規(guī)律,,就像下面這樣,一些能把 TXT 自動轉換成帶目錄電子書的軟件或應用也是利用這種規(guī)律結合很多正則算法實現(xiàn)的,。 第123章 第456節(jié) 第123章 章標題 第456節(jié) 節(jié)標題 第123章 第123節(jié) ……
如果需要轉換的 TXT 文檔內(nèi)容滿足這一點,,就可以繼續(xù)下面的操作了。 一,、一點點準備工作1,、支持正則替換的編輯器。本文使用 Sublime Text 2:http://www./2 2,、電子書轉換軟件,。本文使用 Calibre:http:///tools#calibre 二、檢查,、修改 TXT 文檔因為在網(wǎng)上下載的 TXT 文檔內(nèi)容格式良莠不齊,,需要先簡單的檢查一下其章節(jié)標題是否有規(guī)律,有什么樣的規(guī)律,,在這些規(guī)律中又有哪些不規(guī)則的情況,。下圖是我隨便從網(wǎng)上下載的一本 TXT 格式小說打開的樣子,其內(nèi)容格式不那么規(guī)整,,剛好適合做個相對復雜的例子,。 注意,如果打開 TXT 出現(xiàn)亂碼,,說明是文本的編碼問題,。有一個小技巧可以解決這個問題,您可以先使用瀏覽器打開 TXT 文檔,,然后全選拷貝,,再粘貼到 Sublime Text 等編輯器中,。 首先,我發(fā)現(xiàn)它有如下所示的兩種不同形式的章節(jié)標題: 第一章 重生 第一章 重生 第二章 謀殺親夫,? 第二章 謀殺親夫,? ……
這里我選擇了第二種比較簡潔的章節(jié)標題作為目錄。還需要注意選擇的這個章節(jié)標題還存在一個不規(guī)則的情況,,那就是它們有的前面沒空格,,有的卻存在一個空格: 第一章 第二章 第三章 第四章 第五章 ……
到此為止我們已經(jīng)掌握了這個文檔里面章節(jié)標題規(guī)律以及規(guī)律中存在的不規(guī)則的情況了。接下來,,需要給這些章節(jié)標題添加一些標記,,變成如下這樣: ###第一章 XXXXXX ###第二章 XXXXXX ###第三章 XXXXXX ###第四章 XXXXXX ###第五章 XXXXXX ……
在每個章節(jié)前邊添加的“###”是 MarkDown 語法,轉換成 HTML 就相當于 ,,以此類推如果添加“#”就相當于 ,,“####”就相當于 ,“######”就相當于 ,。當然,,文檔中的章節(jié)太多,我們不可能一個個手工添加,,這就需要用到 Sublime Text 2 的正則表達式替換功能了,,可以批量將每個章節(jié)標題前面都加上“###”標記。 點擊菜單“Find -> Replace”調(diào)出替換功能面板,,然后確認選中了面板左側的正則功能圖標【.*】,,然后按照下圖所示輸入,然后點擊右側的“Replace All”按鈕,,即可完成添加,。 如果對正則表達式不是很了解的小伙伴是不是有點兒摸不清頭腦?沒關系,,其實很簡單,,這里我詳細解釋一下這一串代碼和前面我們已經(jīng)總結到的章節(jié)標題規(guī)律之間的關系。 首先在“Find What”中輸入的是: ^( |)第(.*)章
第一個字符是“^”代表一行的開頭,。緊挨著的“( |)”里面的“|”代表“或”,,因為之前我們發(fā)現(xiàn)文檔內(nèi)有的標題前面有空格有的標題前面沒空格,,它可以把有空格和沒空格的都選中,。接下來的“第”和“章”是相同的內(nèi)容,它們之間的“(.*)”代表它們之間的所有內(nèi)容,。這樣就選中了所有每一行我們期望修改的章節(jié)標題,。 接下來“Replace With”中輸入的是: ###第\2章
首先“###”是要添加到標題最前面的字符,接下來的“第”和“章”保持不變,,他們中間的“\2”表示前面所選的第二個括號里的內(nèi)容保持不變,。關于更多正則表達式的入門使用方法,,可以進入這篇文章,點開“【相關知識】《Sigil正則表達式的入門》”閱讀,。
下面也提供一些較常用的章節(jié)格式的查找替換正則表達式代碼: 【標題】第XX章 或 第XX節(jié)(不管后面有沒有章節(jié)名) 【查找內(nèi)容】第(.*)章 或 第(.*)節(jié) 【替換內(nèi)容】###第\1章 或 ###第\1節(jié) 【標題】第XX章第XX節(jié)(連在一起的,,不管中間或后面有沒有章節(jié)名) 【查找內(nèi)容】 第(.*)章第(.*)節(jié) 【替換內(nèi)容】 ###第\1章第\2節(jié) 【標題】第XX章AAA第XX節(jié) (中間AAA是空格或章名,不管后面有沒有節(jié)名) 【查找內(nèi)容】第(.*)章(.*)第(.*)節(jié) 【替換內(nèi)容】###第\1章\2第\3節(jié) 如果您遇到的無法正確查找的章節(jié)格式,,可以在本文留言求助,。 三、轉換修改后的 TXT 文檔章節(jié)標題的標記添加完畢后就可以把修改后的 TXT 文檔轉換成 mobi 格式了,。打開 Calibre 軟件,,用鼠標把文檔拖進去,然后右鍵點擊它,,在彈出的菜單中依次選擇“轉換書籍 -> 逐個轉換”,,在彈出的窗口中,把右上角的“輸出格式”選成“MOBI”,,然后點擊左欄的“內(nèi)容目錄”標簽,,找到“一級目錄”這一項,填入“//h:h3”(也可以點擊后面的魔術棒小圖標,,在彈出的窗口中選擇“h3”),。 最后點擊“確定”按鈕,直到轉換完成,,就可以得到一個從 TXT 轉換而來的帶有目錄的 mobi 格式電子書了,。如此,僅需學習一遍,,今后就可以很快速的處理 TXT 文檔了,,一勞永逸。 ———————— 小提示:如果在使用本方法時可能會遇到下面所示的錯誤,。雖然 Calibre 提示 This txt file has malformed markup(文本文件中標記格式錯誤),,卻可能是 Calibre 自身的原因。解決方法就是換一種方法,,強烈建議使用另一款專門為 TXT 小說轉帶目錄的 mobi 格式的軟件 easyPub,,更強大易用。 ValueError: This txt file has malformed markup, it cannot be converted by calibre. See http:///projects/markdown/syntax
———————— 參考文章:http:///thread-129100-1-1.html
|