趣味のためのMacに関するサイト > Jedit > 【正規表現】中国語の単語カードを作るためには
Jedit, 正規表現

【正規表現】中国語の単語カードを作るためには

日本語入力では、ほとんどのかたがローマ字入力で漢字に変換します。

(かな入力で入力するかたは今は殆どいないでしょうけど)

もちろん日本人なら漢字の読みが分かりますのでそれは問題がありません。

自分は少々中国語(汉语 han yu/普通话 pu tong hua)をちょっとだけ勉強しています。

日本語と同じように中国語もローマ字入力のように入力して行きます。

そのピンイン入力をするのですが、漢字の読みが分からないと入力ができません。

その読みを勉強するのに、Wordpressの単語カード調のプラグインを使って勉強しようと

日本語の当用漢字もどきの中国語でよく使う漢字(汉字 han zi)2500字を探しました。

それをWordpress単語カードプラグインに入力するためには、漢字と読み(ピンイン)を

一対一に並べ替える必要が出てきました。

取り出した2500字は下図のようになっています。

それを正規表現を使って縦一列に並べ替え、それにピンイン(ローマ字読み)を入れて行く作業をします。

手作業で一列になれば変えるのは大変な手間ですのでそれを正規表現を使って一括処理。

というのが今回のテーマです。

Jedit正規表現 01

中国語 漢字2500字

Jeditを使ってまず、タブをスペースに変換し、プレーンテキストにして、スペースを改行と入れ替えます。

 

Jedit正規表現 02

検索対象 \s →置換対象 \n

Jedit正規表現 03

処理後

次に、空白行を削除します。 

Jedit正規表現 04

検索対象 ^\s → 置換対象 空白

自分はさほど正規表現に詳しくありませんので手探りで操作している段階です。

検索対象スペースが、全角であるか半角であるかは、ちょっと置いておきます。

 

Jedit正規表現 05

空白行削除後

今度は画数表示が邪魔になりました。

画数表示では、一画から二十三画まであります。

このパターンは、漢字が連続して二回もしくは三回表示されますので、そのパターンを探して削除します。

Jedit正規表現 10

検索対象 \p{Han}{2}?  → 置換対象 空白

エスケープ文字(MacOSではバックスラッシュ)で回避して、プロパティー属性が漢字で、

二回以上連続でマッチするパターンを探し、その行を削除する。という作業をします。

Jedit正規表現 11

これで、2500文字を縦一列に並べ替えることができました。

本当は動画で説明したほうがリアルタイムで動きが分かり、理解しやすいかと思いますが、

途中で面倒になってやめてしまいました。そのうち気が向けばやってみたいと思います。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ページトップに戻る↑                           ページ一番下へ↓

About 1q3

ツールとしてのMacについてのメリットデメリットなどの事について書いています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です