ローマ数字の置き換え変換ルール

公表されている医療情報をPostgreSQLに取り込んで活用しようとしているときの覚書。
具体的には施設基準のデータベースを作ろうとしている。

困ったのが
全角ローマ字数字の「Ⅰ」(U+2160)

全角英字「I」(U+FF29)
となっていたりするのでデータベースに保存する前に統一処理したい。
(見た目では分からない)


変換方針

  • 全角ローマ字数字に統一する。
  • 全角英字→全角ローマ字数字の変換用連想配列を作る(Ⅰ~Ⅳ)。
  • 「DX」など数字ではなく名称部分に使われていることがあるので気を付ける。
  • PHPでループしてstr_replaceで置き換える。


ちなみに政府のシステムでは置き換え規則があるらしい。
参考: 内閣府共通意見等登録システム - 内閣府

こちらは半角英字に統一している。
DXの場合、D10と区別できなくなくなるので数字は数字として変換した方がいいと思う。


【関連記事】