半角カナ、機種依存文字、日本人情報処理技術者なら一度は悩んだことがあるのでは?
きっと昔の人は「今」を便利にしたい気持ちが強すぎたのでしょう。。。
毎度悩まされますが今回はデータ移行作業でSHIFT_JISのCSVをDBに取り込む際に悩みました。
以前まではnkf使ってたんですが今回このような素敵な記事を見たのでコレでやってみました
1
2
irb(main):001:0> 'タピオカミルクティー'.gsub(/[\uFF61-\uFF9F]+/) { |str| str.unicode_normalize(:nfkc) }
=> "タピオカミルクティー"
半角カナは濁点だけとか置けちゃうので、コレだけですべてが綺麗に収まるわけではないと思いますが
一旦これで変換して見せてあげて、これ以上やります?ってめんどくさそうに伝えてみたたところ
プロダクトオーナーの方もそこそこ満足&納得していただけました。
外部のライブラリを使わずにできる点もいいですね~
こんな感じでしょうか...
1
2
"パ゚ンダ゙".gsub(/[\uFF61-\uFF9F]+/) { |str| str.unicode_normalize(:nfkc) }.gsub(/[\u3099\u309A]/, '?')
=> "パ?ンダ?"
コメント