2014-11-06

Python: 正規表現でUTFの韓国語を検索

UTF-8で, 韓国語が含まれるかどうかを検索する場合, Python では, 以下の正規表現を使えば良い.
 u"[\uac00-\ud7af\u3200-\u321f\u3260-\u327f\u1100-\u11ff\u3130-\u318f\uffa0-\uffdf\ua960-\ua97f\ud7b0-\ud7ff]"
Unicode Character Name Index から作った.

日本語・韓国語まじりのUnicode文字列から, 韓国語だけを除去する場合, 以下のようにすればよいだろう.

>>> s_with_korean = u'こんにちは。안녕하세요. Hello.'
>>> r = re.compile(u"[\uac00-\ud7af\u3200-\u321f\u3260-\u327f\u1100-\u11ff\u3130-\u318f\uffa0-\uffdf\ua960-\ua97f\ud7b0-\ud7ff]+[\\s\.,]*")
>>> s_without_korean = re.sub(r, u'', s_with_korean)
>>> print (s_without_korean)
こんにちは。Hello.
Python 2.7 と 3.3 で確認した.

0 件のコメント:

コメントを投稿