파이썬(python)2024. 6. 7. 12:00

당장은 아니지만, 나중에 쓸 일이 있을지도 모르겠다 싶어서 일단 기록해 두기로.

파이썬을 이용해서 유니코드 문자열에 일본어가 있는지 확인하는 방법이다. 정규표현식(regular expression, regex)을 이용해서 문자열에 히라가나 또는 카타카나가 있는지 검색할 수 있다.

우선 유니코드에서 히라가나와 카타카나의 코드 범위를 알아야 한다. 이에 대한 정보는 위키피디아에서 볼 수 있다. 아래의 링크로 가서 "CJK scripts and symbols" 항목을 참조하면 된다.

Plane (Unicode)

코드의 범위는 아래와 같다.

히라가나: 3040-309f
카타카나: 30a0-30ff

이제 파이썬에서 정규표현식을 이용한 패턴 검색을 해 볼 수 있다.

import re

# 히라가나
pattern_hiragana = re.compile(u'[\u3040-\u309f]')

# 카타카나
pattern_katakana = re.compile(u'[\u30a0-\u30ff]')

# 히라가나 또는 카타카나
pattern_both = re.compile(u'[\u3040-\u309f\u30a0-\u30ff]')

target_str = 'ひらがな'

if pattern_hiragana.search(target_str):
  print("히라가나 발견:", target_str)

if pattern_katakana.search(target_str):
  print("카타카나 발견:", target_str)

if pattern_both.search(target_str):
  print("히라가나 또는 카타카나 발견:", target_str)

 

728x90
Posted by 반달가면