# k2jamo # substitute(text) import re REGEX = '[가-힣]' pattern = re.compile(REGEX) def convert_main(match): '正規表現でマッチした完成形ハングルを字母に分解する' value = ord(match.group(0)) my_int = value - 44032 my_int_index = int(my_int / 588) my_final_index = my_int % 28 my_medial_index = \ int((my_int - (my_int_index * 588) - my_final_index) / 28) result = initial[my_int_index] + \ medial[my_medial_index] + \ final[my_final_index] return result def substitute(text): '正規表現で完成形ハングルにマッチした入力を置換する' result = re.sub(pattern, convert_main, text) return result if __name__ == '__main__': for letters in ['가', '안녕', '한국어 문장입니다.', '영문자 a/b를 포함']: output = substitute(letters) print(letters, '=>', output)