python mojimojiを用いて半角、全角変換を高速に行う

pythonでユーザからの文字入力が必要な場面があると思います。

例えば数値を入力してもらう際、pythonスクリプト内部ではもちろん半角数字で処理したい所ですが、
ユーザが全角数字で入力してしまう可能性もあります。

そんな時に役に立つのが、文字列の半角、全角を高速に変換してくれるライブラリmojimoji。
実装にはc++が使われているので、高速に文字変換を行うことができます。

今回はmojimojiの使い方について、まとめていきたいと思います。

 

mojimojiでできること

日本語文字列変換ライブラリmojimojiを使用すると、文字列の全角・半角を高速に変換することができます。

例えば、、、

こういった変換が高速にできるようになります。

便利なライブラリですので、皆さんもぜひ使ってみてください。

 

mojimojiのインストール

mojimojiはpythonのパッケージ管理ツールpipを用いてインストールすることができます。

 

使い方

mojimojiには文字を
全角から半角へと変換する zen_to_han() という関数と、
半角から全角へと変換する han_to_zen() という関数があります。

 

全角から半角への変換

出力 : “12345” (半角)

 

半角から全角への変換

出力 : “abcde” (全角)

 

変換のオプション

オプションの引数を指定することで、数値のみ、英字のみ、カナのみといった、
変換文字列の対象を指定することができます。

こちらもサンプルでみてみましょう。

 

カナの変換を行わない

出力 : “abcde12345アイウエオ”
(カナは半角への変換が行われない。)

 

数値の変換を行わない

出力 : “abcde12345アイウエオ”
(数値は半角への変換が行われない。)

 

英字の変換を行わない

出力 : “abcde12345アイウエオ”
(英字は半角への変換が行われない。)

 

もちろん、組み合わせて使うこともできます。

出力 : “abcde12345アイウエオ”
(数字と英字は全角への変換が行われない。)

 

オプション一覧

使えるオプションの一覧です。
デフォルトでは全てTrueとなっています。

kana
bool型。かなの変換を行うかどうか。

digit
bool型。数値の変換を行うかどうか。

ascii
bool型。英字の変換を行うかどうか。

 

 

以上、pythonも文字変換ライブラリmojomojiの使い方についてでした。