1.使用calibre把epub转txt
首先使用calibre把epub或者mobi转至txt文档,但是前提是要把假名先全部删除
日语原著中含有大量的注音(也叫振假名,日语为「振ふり仮名がな」;或Ruby,日语为「ルビー」),比如说:
这段话中含有几处注音,在Epub中,这些注音假名是通过HTML5的新标签ruby实现的:
<ruby><rb>丘陵</rb><rt>きゅうりょう</rt></ruby>
<ruby><rb>七光</rb><rt>しちこう</rt></ruby>
<ruby><rb>騎士</rb><rt>きし</rt></ruby>
<ruby><rb>団</rb><rt>だん</rt></ruby>
<ruby><rb>聳</rb><rt>そび</rt></ruby>
如果直接进行转换,那么文本将会和假名混在一起,呈现下面这种情况
林道を抜け、緩やかな丘陵きゅうりょうに出ると、山賊討伐を任された《七光しちこう騎士きし団だん》の視界前方に、青空に聳そびえる石造りの古城が現れる
那么我们在转换前先将假名全部删除,将会用到正则表达式
前面说到标签的格式为:
<ruby><rb>被注音文字</rb><rt>注音</rt></ruby>
那么使用正则表达式:
<rb>(.*?)</rb><rt>.*?</rt>
其中.*表示任意字符,增加符号?使其非贪婪。因为我们要保留被注释文字,所以用小括号扩起被注释部分,小括号相当于一个变量,可以在替换时被重新引用。
在Calibre转换书籍时,在“搜索&替换”中,将上述表达式输入,并在替换文本中输入\1(表示我们前面那个小括号中的文本,即被注音文字)
转换之后的效果如下:
林道を抜け、緩やかな丘陵に出ると、山賊討伐を任された《七光騎士団》の視界前方に、青空に聳える石造りの古城が現れる。
2.使用word标注所有汉字假名
把上面得到的txt文本复制到word中
启动macro,自动标注假名
3.把上面得到的文本复制到编辑器里,博主这里使用的是sakura editor
我们发现word标注的假名是括号包裹的形式,这时候我们要把它替换成青空文库格式的《》形式,继续使用正则表达式:
把
\((.+?)\)
替换为
\《\1\》
替换后得到可以用青空文库转换器的格式了
6 comments
你好,请问针对这种结构,正则表达式该怎么写呢?
純白の百ゆ合りと、翼つばさを広げた鷹たか。
不是百合ゆり、而是百ゆ合り,不知这样描述,博主能否理解>﹏<
没有任何标签吗?如果是单纯的混在原文中的话,神仙也救不了
直接评论,标签就没了⌇●﹏●⌇
純白の《ruby》百《rt》ゆ《/rt》合《rt》り《/rt》《/ruby》と、
是这种形式。
最后自己瞎弄了一下,表达式写的.*?,然后替换那里是空白,导出来地文本好像意外的还不错φ( ̄∇ ̄o)
没想到22年的帖子博主还会回复,灰常感谢呀!
只要有规律的,就可以正则表达式来整理,
解决了就好!やったー!
純白の 百 ゆ 合 り と、 翼 つばさ を広げた 鷹 たか 。
是这种形式。
最后自己瞎弄了一下,表达式写的.*?,然后替换那里是空白,导出来地文本好像意外的还不错φ( ̄∇ ̄o)
没想到22年的帖子博主还会回复,灰常感谢呀!