2017/12/19更新

[Python] 日本語の全角と半角を変換する

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
今日はPythonで日本語の全角と半角を相互に変換する方法について、ブログを書きたいと思います。



目次




サンプルコード

ここで記載したプログラムは、yoheiMune/python-playground@Githubでも公開しています。適宜ご利用ください。



利用するライブラリ

いくつかライブラリはありますが、mojimojiというライブラリを使います。pipでインストール可能であること、実装がシンプルであること、が良いなと思います。



mojimojiのインストール

pipでインストールすることができます。
$ pip install mojimoji



全角から半角へ

全角から半角への変換は、zen_to_han関数を利用します。
import mojimoji

mojimoji.zen_to_han("アイウエオ12345ABC")
# => アイウエオ12345ABC
デフォルトでは「カナ」「数値」「アルファベット」を変換しますが、引数で対象を限定することもできます。
# カナ以外
mojimoji.zen_to_han("アイウエオ12345ABC", kana=False)
# => アイウエオ12345ABC

# 数値以外
mojimoji.zen_to_han("アイウエオ12345ABC", digit=False)
# => アイウエオ12345ABC

# アルファベット以外
mojimoji.zen_to_han("アイウエオ12345ABC", ascii=False)
# => アイウエオ12345ABC



半角から全角へ

半角から全角への変換はhan_to_zen関数を利用します。
mojimoji.han_to_zen("アイウエオ12345abc")
# => アイウエオ12345abc
全角→半角と同じく、変換対象は指定可能です。
# カナ以外
mojimoji.han_to_zen("アイウエオ12345abc", kana=False)
# => アイウエオ12345abc

# 数値以外
mojimoji.han_to_zen("アイウエオ12345abc", digit=False)
# => アイウエオ12345abc

# アルファベット以外
mojimoji.han_to_zen("アイウエオ12345abc", ascii=False)
# => アイウエオ12345abc



公式ドキュメント

GithubのREADMEをご参照ください。



最後に

日本語を扱う仕事では時々、全角/半角を扱う場面があります。上記の感じでサクッと解決できると素敵ですね。

最後になりますが本ブログでは、Python、インフラ、Linux、Node.js、Swift、Go言語、フロントエンド、Java、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時に、解決の糸口を見つけられる」そんな目標でブログを書き続けています。今後も役立つネタを書いていきますので、ぜひ本ブログのRSSTwitterをフォローして貰えたら嬉しいです ^ ^

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。