概要
検索機能を作成する際に、ユーザが全角だろうと半角だろうと関係なく検索ができるようにしたかった場面があった。
難しいことは考えず、検索用の新しいカラムを追加して、
nameカラムに入っていた値を全て半角に直して格納しようとした。
でも、その際にふと、どうやってやるのか一瞬迷ったのでメモ
結論
NKFを使えば一瞬だった。
# 全角カタカナ英数字&ひらがな→半角カタカナ英数字
str = 'ひらがなカタカナABC012'
NKF.nkf('-w -Z4 -x', str.tr('あ-ん', 'ア-ン'))
Discussion