한글의 자모를 분리해서 DB에 저장해야 될 일이 있을 때 사용할 수 있는 방법이다.
아래와 같이 메소드를 만들어 활용했다.
입력값 : 안녕하세요
출력값 : ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ
자동완성 검색 기능 등을 이용할 때 활용하기 좋다.
String[] chosungs = {"ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", "ㅆ", "ㅇ" , "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"};
String[] jungsungs = {"ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ", "ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ", "ㅡ", "ㅢ", "ㅣ"};
String[] jongsungs = {"", "ㄱ", "ㄲ", "ㄳ", "ㄴ", "ㄵ", "ㄶ", "ㄷ", "ㄹ", "ㄺ", "ㄻ", "ㄼ", "ㄽ", "ㄾ", "ㄿ", "ㅀ", "ㅁ", "ㅂ", "ㅄ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"};
String result = "";
String keyword = "안녕하세요"; // 분리할 문자열
for (int i = 0; i < keyword.length(); i++) {
int keywordUniBase = keyword.replaceAll("\\p{Z}", "").charAt(i) - 44032;
char chosung = (char)(keywordUniBase / 28 / 21);
char jungsung = (char)(keywordUniBase / 28 % 21);
char jongsung = (char)(keywordUniBase % 28);
result += chosungs[chosung] + jungsungs[jungsung] + jongsungs[jongsung];
System.out.println(result);
}
'개발공부 > JAVA' 카테고리의 다른 글
[JAVA] 날짜 & 시간 유효성 검사 (0) | 2023.12.10 |
---|---|
Thread (0) | 2023.05.24 |
[JAVA] ArrayList 내부 구현 (0) | 2022.09.26 |
[JAVA] System.out.println()을 쓰면 안 되는 이유 (1) | 2022.09.26 |
[JAVA] String, StringBuilder, StringBuffer (1) | 2022.09.22 |
댓글