dポイントプレゼントキャンペーン実施中!

正規表現で、
【青空文庫形式などでルビを活かし、ルビ該当の漢字を削除する】方法があったら教えて下さい。


例えば
焼肉定食《やきにくていしょく》を食べている、最中《さいちゅう》です。

というテキストを

やきにくていしょくを食べている、さいちゅうです。

というテキストに変換したいです。



目的は
朗読ソフトで読み上げるテキストの作成です。


通常、
朗読ソフトで読み上げるテキストの作成では、
ルビの削除を使う方もいらっしゃるので
そちらの正規表現は調べてあります。



しかし、活かしたいはルビの方で

例えば以下のような文章

最中《もなか》を食べている、最中《さいちゅう》です。

といった文章があった場合、ルビ削除では
正しく読み上げができないです。


ルビを活かして

もなかを食べている、さいちゅうです。

に変換する正規表現があったら教えて下さい。


当方の利用環境は
テキスト編集としては秀丸エディタ
epub変換ソフトとしてはcalibre
読み上げソフトは詠太(一太郎)   を利用してます。


よろしくお願いします。

A 回答 (3件)

例えばですが、



「1個以上の漢字」があり、
次に、「《」があり、
次に、「1個以上のひらがな」があり、
次に、「》」があれば、
「1個以上のひらなか」の部分だけにする、

という秀丸エディタの置換における正規表現の例は、以下のようになります。


 検索 : [亜-黑]+《([ぁ-ん]+)》
 置換 : \1

(※「正規表現」にチェックを入れます。)


意味は以下の通りです。

「[亜-黑]+」=「1個以上の漢字」
「[ぁ-ん]+」=「1個以上のひらがな」
「\1」=「1つ目の、()で囲んだ部分」


ただ、実際の文書データで実行すると新たな問題が出てくる可能性もありますので、その場合は正規表現の解説サイト等を参考に修正なさってください。

また、対象テキストファイルの文字コードやエディタの仕様によっては、漢字を表す「亜-黑」や、ひらがなを表す「ぁ-ん」の部分を、別の表現に変更しないといけない可能性もあるかも知れません。上記の正規表現がうまくいかなければ、その辺りも修正なさってください。


■ 秀丸エディタの正規表現―秀丸エディタを使いこなす
http://www.shuiren.org/chuden/teach/hidemaru/sei …
    • good
    • 0
この回答へのお礼

助かりました

ありがとうございます。
こちらを参考にさせていただきます。

お礼日時:2017/06/13 10:50

文章としてどのような物があるのかわかりませんが、


例えば

木の葉《このは》

みたいな『漢字とそれ以外の混合』ってあるのですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
確かにこういったケースもありそうですね。
この場合、ベストアンサーでの置換では処理できないですが、多くはないのでマクロで対処するのでなく個別に対処したいと思います。

お礼日時:2017/06/13 10:53

最中《もなか》を食べている、最中《さいちゅう》です。


形式ではどこからどこまでのよみかわからないので無理です
ルビタグを使っているのかどうか正しく提示下さい
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。

No.2さんの方が答えてくれたように
文字によって判別する方法でうまく変換が行きました。

また、
このQ&Aを見ていただいた方への参考なのですが

実際の文章ではカタカナのルビもあったので

「[ァ-ヶ]+」=「1個以上のカタカナ」とすることで

カタカナのルビもちゃんと置換できました。

お礼日時:2017/06/13 13:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!