[Java] 한글 문자열에서 초성 얻기

예를 들어, ‘대한민국’의 첫자인 ‘대’의 초성을 얻는 코드입니다. ‘대’의 초성은 ‘ㄷ’입니다. 아래의 함수 코드는 ‘대한민국’과 같은 문자열을 인자로 받아 그 결과로 ‘ㄷ’ 문자열을 반환하는 함수입니다.

String getInitialSound(String text) {
    String[] chs = { 
        "ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", 
        "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", 
        "ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", 
        "ㅋ", "ㅌ", "ㅍ", "ㅎ" 
    };
		
    if(text.length() > 0) {
        char chName = text.charAt(0);
        if(chName >= 0xAC00)
        {
            int uniVal = chName - 0xAC00;
            int cho = ((uniVal - (uniVal % 28))/28)/21;

            return chs[cho];
        }
    }
   		
    return null; 
}

위의 함수를 간단히 테스트하는 코드 예는 아래와 같습니다.

System.out.println(getInitialSound("자바"));

결과는 ‘ㅈ’입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다