昭和、平成、令和。和暦を全部まとめて西暦に置き換えるツールを作りました。
「wareki2seireki - 和暦から西暦へまとめて変換」
使い方は簡単。上のテキストボックスに和暦付きのテキストを入れると、下のテキストボックスに和暦だけ西暦に変換されたものが生成されます。
日時ライブラリ day-es の WAREKI.js を使ったシンプルなプログラムです。
import { WAREKI_ID_JA, wareki2year } from "https://code4fukui.github.io/day-es/WAREKI.js";
tawa.onchange = () => {
let s = tawa.value;
for (const wa of WAREKI_ID_JA) {
for (;;) {
const n = s.match(new RegExp(`(${wa}(\\d+|元)年)`));
if (n) {
const m = s.indexOf("年", n.index);
const se = (n[2] == "元" ? wareki2year(wa + "1年") : wareki2year(n[0])) + "年";
s = s.substring(0, n.index) + se + s.substring(n.index + n[0].length);
} else {
break;
}
}
}
tase.value = s;
};
元年にも対応しているのがポイントです。
正規表現でまとめて置換もできそうですが、効率は重要じゃないので、改善はひとまず後回し。ソフトウェアは、往々にして、実現の速さが優先されます。うっかり多く使われるようになったオープンソースのプログラムを見つけ、効率化するのも社会の省エネにつながるxGC活動。