![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
正規表現でルビを小書きに変換したいです。
ルビとは漢字の傍に小さいフォントの仮名で
ふりがなを振ったものです。
小書きとは っ・ゃ・ゅ・ょ など
ちいさな文字です。
また青空文庫形式では
ルビは《と》で囲んで、
たとえば
会社《かいしゃ》
のように表記します
現代では、ルビでも小書きを使って
会社《かいしゃ》 としますが
昔は校正の方針が違って
ルビには小書きを使わなかったので
会社《かいしや》などと表記されます。
なので、小書きでないルビの作品を
正規表現で
一度に小書きに変換したいと考えてます。
とはいえ、正規表現だけで完璧に変換するのは
難しいと思うので、変換間違いがあっても
大丈夫です。*のちほど目視で確認&訂正するので
なので
下記の条件くらいの変換をしたいです
----
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?8acaa2e)
No.1
- 回答日時:
余りにも情報が少なすぎます。
OSはなんでしょうか。
言語は何でしょうか。
入力データテキストファイルでしょうか。
入力データがテキストファイルと仮定すると、1行に1つの単語があるという前提で良いのですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Microsoft IME 一発で変換できない言葉がある 3 2022/07/19 19:29
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- 財務・会計・経理 業者間での注文書・請書の取り扱いについて 2 2022/06/27 15:53
- 会社・職場 エレメント交換について 人によって基準が異なるので困っています。 7 2022/04/21 16:32
- Word(ワード) 片仮名のルビ 1 2023/08/25 11:27
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(ビジネス・キャリア) 人の文章を書き換えることは著作権法違反にあたりますか? 2 2022/06/19 21:47
- Excel(エクセル) Excelで校閲をする方法はあるでしょうか(取扱説明書への掲載禁止用語の確認) 3 2022/06/11 22:51
- 日本語 なぜ「壊石料理」と記述するのでしょうか? 26 2023/06/17 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
PHPで、日本語からアルファベッ...
-
C/C++→JAVAに変換するツール
-
F-BASICからC言語への変換
-
PDF形式による特殊文字の表示
-
エクセルのvbaで検索ボタンを作る
-
マンセル⇔XYZ,RGB変換式或いは...
-
特定のタイムゾーンからtime_t...
-
シフトJISのCSVファイルをUFT-8...
-
c++でmatからvectorへの変換の...
-
10進数を2進数に変換するプログ...
-
System::Stringからconst char...
-
10進数をBCDに変換する方法
-
TIFF形式のイメージをBMPに変換...
-
画像ファイル変換(Tiff→PDF)
-
VBAを使って二進法計算
-
bitmapクラスをiconクラスに変...
-
VC++2005で、CString型に16進...
-
VB 6 を VS 2012に変換するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
10進数をBCDに変換する方法
-
bmp→jpgに、jpg→bmpに
-
エクセルVBAの自動変換機能?
-
アセンブラ言語の数字を数値に...
-
なぜ通信には16進数文字列が使...
-
SJIS⇔UTF-8の文字コード...
-
C++からCへのソース変換について
-
分を時間に変換するプログラム
-
UTF8→ShiftJISに変換したいです!
-
家電製品の電力周波数を変える機械
-
マンセル⇔XYZ,RGB変換式或いは...
-
VB.NETをJavaに変換するツール...
-
画像ファイル変換(Tiff→PDF)
-
PHPで、日本語からアルファベッ...
-
魚眼レンズの画像処理
-
C#で漢字→ローマ字を変換
-
StrConvの使い方について教えて...
おすすめ情報
環境を追記します。
Mac およびWindowsで
正規表現が使えるエディタを利用できます。
MacならCotEditor
Winなら秀丸エディタです。