2023-05-21
#js 
昭和、平成、令和。和暦を全部まとめて西暦に置き換えるツールを作りました。

「wareki2seireki - 和暦から西暦へまとめて変換」

使い方は簡単。上のテキストボックスに和暦付きのテキストを入れると、下のテキストボックスに和暦だけ西暦に変換されたものが生成されます。

日時ライブラリ day-esWAREKI.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活動。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS