億万単位を自動で英語置換

某所でWildLightセミナーを開催したのですが、こんな課題をいただきました。

  1. 〇〇〇億〇〇百万円 ⇒ 〇〇,〇〇〇 million yen
    ex. 158億32百万円 ⇒ 15,832 million yen
  2. 〇〇億〇〇百万円 ⇒ 〇,〇〇〇 million yen
    ex. 11億70百万円 ⇒ 1,170 million yen
  3. 〇億〇〇百万円 ⇒ 〇〇〇 million yen
    ex. 6億47百万円 ⇒ 647 million yen
  4. 〇〇百万 ⇒ 〇〇 million yen
    ex. 6百万円 ⇒ 6 million yen
  5. 〇〇〇億〇百万円 ⇒ 〇〇,〇0〇million yen
    ex. 530億2百万円 ⇒ 53,002 million yen
  6. 〇〇億〇百万円 ⇒ 〇,〇0〇 million yen
    ex. 10億9百万円 ⇒ 1,009 million yen
  7.  〇,〇〇〇,〇〇〇千円 ⇒ 〇,〇〇〇 million yen
    ex. 9,144,781 ⇒ 9,144 million yen (下3桁を削除)

これを実現するためのWildLight辞書を作ってみました。
DEMO_変換_和数字を英語へ.txt」として公開しておきました。

辞書の中身は、以下のような記述になっています。

WILDCARD:ON
Zen2Han,[0-9]
([0-9]{1,2})([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])([0-9])億([0-9]{2})百万 \1,\2\3 million 
([0-9])億([0-9]{2})百万 \1\2 million 
([0-9]{1,2})([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])([0-9])億([0-9])百万 \1,\20\3 million 
([0-9])億([0-9])百万 \10\2 million 
([0-9])億 \100 million 
([0-9]{1,3},[0-9]{3}),[0-9]{3}千 \1 million 
([0-9]{1,3}),[0-9]{3}千 \1 million 
([0-9,]{1,11})百万 \1 million 
百万 million 
円 yen

1行目:ワイルドカードモードに切り替えます。
2行目:全角の数字を Zen2Han コマンドで半角に変換します。
3~5行目:「〇〇〇億〇〇百万」を置換します。
6~8行目:「〇〇〇億〇百万」を置換します。
9行目:「〇億」を置換します。
10行目:「〇〇〇,〇〇〇,〇〇〇千」を置換します。
11行目:「〇〇〇,〇〇〇千」を置換します。
12行目:「〇〇〇,〇〇〇,〇〇〇百万」を置換します。
13行目:「百万」を置換します。
14行目:「円」を置換します。

お役に立つようでしたら、お使いくださいませ。

広告