![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
正規表現でルビを小書きに変換したいです。
ルビとは漢字の傍に小さいフォントの仮名で
ふりがなを振ったものです。
小書きとは っ・ゃ・ゅ・ょ など
ちいさな文字です。
また青空文庫形式では
ルビは《と》で囲んで、
たとえば
会社《かいしゃ》
のように表記します
現代では、ルビでも小書きを使って
会社《かいしゃ》 としますが
昔は校正の方針が違って
ルビには小書きを使わなかったので
会社《かいしや》などと表記されます。
なので、小書きでないルビの作品を
正規表現で
一度に小書きに変換したいと考えてます。
とはいえ、正規表現だけで完璧に変換するのは
難しいと思うので、変換間違いがあっても
大丈夫です。*のちほど目視で確認&訂正するので
なので
下記の条件くらいの変換をしたいです
----
1.変換範囲は
《と》の、平仮名を変換
2.変換は
つ・や・ゆ・よ
→
っ・ゃ・ゅ・ょ
3.対象文字が先頭,つまり《の直後
にあった場合は変換しない
例:
妙《みよう》 →妙《みょう》
立派《りつぱ》→立派《りっぱ》
愉快《ゆかい》 →先頭なので変換なし
辰巳《たつみ》→辰巳《たっみ》 *誤変換だが目視訂正するので大丈夫
----
不十分な説明や分かりにくい箇所もあるかと思いますが
後ほど、追記させていただきます。
どうぞ、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
すべてのパターンに対応するのは難しいですが。
例えばこちら↓のようなものにするとか。
(《[あ-わ]*?[あ-わ].??)●(.*?》)
●の部分に「や」「ゆ」「よ」「つ」それぞれを個別に入れ、
\1〇\2
〇の部分に、対応する「ゃ」「ゅ」「ょ」「っ」を入れてから検索
しながら置換を繰り返すなどが、単純な方法だと思う。
上記で対応できないパターンもあると思いますが、一例として回答
しました。
秀丸で
下記の正規表現で置換したら目的どおりになりました
検索 : (《[あ-わ]*?[あ-わ].??)や(.*?》)
置換 : \1ゃ\2
検索 : (《[あ-わ]*?[あ-わ].??)ゆ(.*?》)
置換 : \1ゅ\2
検索 : (《[あ-わ]*?[あ-わ].??)よ(.*?》)
置換 : \1ょ\2
ありがとうございます。
該当の文字、1文字の変換ですので
徐々《じよじよ》→徐々《じょじよ》となりますが
対象が少ないですし、
上記の置換をもう一度、繰り返すことで
解決したので、大丈夫です。
本当に助かりました。
目的通りでしたのでベストアンサーとさせていただきます。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67b6d)
No.1
- 回答日時:
余りにも情報が少なすぎます。
OSはなんでしょうか。
言語は何でしょうか。
入力データテキストファイルでしょうか。
入力データがテキストファイルと仮定すると、1行に1つの単語があるという前提で良いのですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
PHPで、日本語からアルファベッ...
-
C++からCへのソース変換について
-
画像ファイルの変換
-
Mac 乗数の入力方法
-
緯度、経度の 10進法と 60進法...
-
isoをimgに変換したいのですが...
-
数値型への変換関数
-
UTF8→ShiftJISに変換したいです!
-
はしごの高をマックで表示する...
-
旧暦の取得
-
テキストでかかれた数式をビッ...
-
HRESULTの代替となる型
-
C/C++→JAVAに変換するツール
-
10進数をBCDに変換する方法
-
c言語について
-
分を時間に変換するプログラム
-
OpenCVでRGBをHSVに変換する
-
なぜ通信には16進数文字列が使...
-
tex 郵便記号のだしかた
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
Mac 乗数の入力方法
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
VB.NETからJavaに変換するツー...
-
C/C++→JAVAに変換するツール
-
【EXCEL】カナ、ひらがなを英字...
-
VB6で10進数を32進数に変換する...
-
逆コンパイルと逆アセンブルの...
-
分を時間に変換するプログラム
-
php
-
VB.NETをJavaに変換するツール...
-
C#でのpngからbmpへの変換について
-
C++からCへのソース変換について
-
マンセル⇔XYZ,RGB変換式或いは...
-
画像ファイル変換(Tiff→PDF)
おすすめ情報
環境を追記します。
Mac およびWindowsで
正規表現が使えるエディタを利用できます。
MacならCotEditor
Winなら秀丸エディタです。