rubyの文字列を正規化するGem作ってみた

タイトルの通りです。

pythonにはneologdnなど文字列を正規化するライブラリが存在していました。

github.com

Rubyでは存在しないようだったので、作ってみました。

github.com

String型を拡張していて、簡単に使うことができます。

まずはインストール

$ gem install normalize_text

normalizeメソッドで文字列を正規化します。

require 'normalize_text'

'検索 エンジン 自作 入門 を 買い ました!!!'.normalize
=> "検索エンジン自作入門を買いました!!!"

自然言語処理前の正規化などに使えると思います。

現在対応しているのは

  • 記号
  • 絵文字
  • Unicode正規化
  • スペース(文字間含め)
  • 制御文字
  • 改行コード
  • 4バイト以上の文字

などです。

今後対応していきたいのは顔文字です。

正規表現で取得できる顔文字以外も対応したいので、リストをまとめるしかないかなあと思っています。