[Python] 日本語の全角と半角を変換する
こんにちは、@yoheiMuneです。
今日はPythonで日本語の全角と半角を相互に変換する方法について、ブログを書きたいと思います。
最後になりますが本ブログでは、Python、インフラ、Linux、Node.js、Swift、Go言語、フロントエンド、Java、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時に、解決の糸口を見つけられる」そんな目標でブログを書き続けています。今後も役立つネタを書いていきますので、ぜひ本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!
今日は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、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時に、解決の糸口を見つけられる」そんな目標でブログを書き続けています。今後も役立つネタを書いていきますので、ぜひ本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!