'JAVA'에 해당되는 글 51건

  1. 2011.11.25 String에 한글 포함 확인 1
2011. 11. 25. 18:31

String에 한글 포함 확인

String 문자열에 한글이 포함되었는지 확인할 일이 많다. 한글만 입력해야 하는 경우..

검색해 보면 0x80을 넘는 문자(character)를 포함하고 있으면 한글이라 판단하는 것도 있다. 혹은 문자가 0xa1과 0xfe 사이에 포함되면 한글이라 판단하는 것도 있다. 이 방법은 한글을 찾는다기 보다는 영문이 아닌 문자를 찾는 방법이다. 자.. 그럼 정말 한글 문자를 포함하고 있는지 확인해 볼까??

방법은 의외로 너무 간단했다. 자바는 문자를 유니코드로 표현하게 되고, 각 문자는 어떤 문자블럭에 포함되는지를 가지게 된다. 이는 Character.UnicodeBlock으로 표현한다. 이 UnicodeBlock이 어떤 문자집합에 포함되는지 확인해 보면 한글인지 판단할 수 있다. 그리고 한글 이외에 다른 나라의 언어들도 포함되어 있어 정확한 구분이 가능하다.

public boolean containsHangul(String str)
{
    for(int i = 0 ; i < str.length() ; i++)
    {
        char ch = str.charAt(i);
        Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of(ch);
        if(UnicodeBlock.HANGUL_SYLLABLES.equals(unicodeBlock) ||
                UnicodeBlock.HANGUL_COMPATIBILITY_JAMO.equals(unicodeBlock) ||
                UnicodeBlock.HANGUL_JAMO.equals(unicodeBlock))
            return true;
    }
    return false;
}