과거의 기록

자바(Java) 한글 초성 검색

이병록 2016. 12. 3. 07:27

 

한글 초성 검색을 만들어야 할 일이 있어서 만들었다.

 

1. 소개

 

한글 초성 검색으로 유효성 검사 및 Mini 검색 도구

안드로이드서 사용하든, java에서 사용하든 한글 초성으로 검색을 위해 일단 유효성 검사 필터를 예전에 만듬

연산은 조금 복잡하지만 구조는 상당히 간단히 되어있음.

지속적으로 업데이트 할 예정

*gradle은 안드로이드 버전 전용임. 다른곳에서 쓰려면 Github 코드에서 클래스 하나 복사 하면됨. 

 

 

2. Gradle

repositories {
    maven { url "https://jitpack.io" }
}
 
dependencies {
    compile 'com.github.roka88:searchkorean:0.0.1'
}
 

 

3.사용법

RokaSearchKorean rokaSearchKorean = new RokaSearchKorean();
boolean resultBl = rokaSearchKorean.speedHangleCheck("ㄱㄴ", "강남"));
// 결과값 true
 

 

4.Example

public class Main {

    public static void main(String[] args) {
        RokaSearchKorean rokaSearchKorean = new RokaSearchKorean();

        System.out.println("유효성 검사 text : "+"ㄱㄴ"+ " / 체크 text : "+"강남"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㄱㄴ", "강남"));
        System.out.println("유효성 검사 text : "+"ㄱㄴ서울"+ " / 체크 text : "+"강남서울"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㄱㄴ서울", "강남서울"));
        System.out.println("유효성 검사 text : "+"ㅂㅅㄷ"+ " / 체크 text : "+"부산대"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅂㅅㄷ", "부산대"));
        System.out.println("유효성 검사 text : "+"ㅂㅅㄷ"+ " / 체크 text : "+"부산대 학교"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅂㅅㄷ", "부산대 학교"));
        System.out.println("유효성 검사 text : "+"ㅂㅅㄷ 학교"+ " / 체크 text : "+"부산대 학교"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅂㅅㄷ 학교", "부산대 학교"));
        System.out.println("유효성 검사 text : "+"ㅇㅃ ㄱㄴㅅㅌㅇ"+ " / 체크 text : "+"오빤 강남스타일"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅇㅃ ㄱㄴㅅㅌㅇ", "오빤 강남스타일"));
        System.out.println("유효성 검사 text : "+"ㅅㅅ 레이데"+ " / 체크 text : "+"섹시 레이데 웁웁"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅅㅅ 레이데", "섹시 레이데 웁웁"));
        System.out.println("유효성 검사 text : "+"ㅇㅃ "+ " / 체크 text : "+"오빤 강남스타일 ~_~"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("ㅇㅃ", "오빤 강남스타일 ~_~"));
        System.out.println("유효성 검사 text : "+"라라라"+ " / 체크 text : "+"이수영의 라라라 ~_~"+" / 결과 : "+rokaSearchKorean.speedHangleCheck("라라라", "이수영의 라라라 ~_~"));


    ArrayList<String> list = new ArrayList<>();
        list.add("강남");
        list.add("나는야 Roka");
        list.add("한국 종합 센터");
        list.add("나레이터");
        list.add("달구지 먹자~");
        list.add("랑데뷰");
        list.add("마늘 먹기 싫어");
        list.add("바본가봐 그대는");
        list.add("사랑해 너무 사랑해");
        list.add("오늘 너무 피곤해");
        list.add("자고 싶다");
        list.add("차차차차~");
        list.add("ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ");
        list.add("푸른 언덕에~배낭을 메고~");
        list.add("하얀 구름 저 푸른 바다");
        list.add("쎼쎼쎼~ 아침바람 찬 바람에");
        list.add("뜨거~ 핫 뜨거뜨거 핫뜨거핫");
        list.add("짜라짜라 짜짜짜~ 무조건 무조건이야~");
        list.add("뽀로로를 아시나요");
        list.add("끄억~ 맛좋다");

        while (true) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("찾을 문자를 작성해주세요. : ");
            String tempText = scanner.nextLine();

            for (String str : list) {
                if (rokaSearchKorean.speedHangleCheck(tempText, str)) {
                    System.out.println(str+"\n");
                }

            }
        }
    }
}
 

 

5. Result

유효성 검사 text : ㄱㄴ / 체크 text : 강남 / 결과 : true
유효성 검사 text : ㄱㄴ서울 / 체크 text : 강남서울 / 결과 : true
유효성 검사 text : ㅂㅅㄷ / 체크 text : 부산대 / 결과 : true
유효성 검사 text : ㅂㅅㄷ / 체크 text : 부산대 학교 / 결과 : true
유효성 검사 text : ㅂㅅㄷ 학교 / 체크 text : 부산대 학교 / 결과 : true
유효성 검사 text : ㅇㅃ ㄱㄴㅅㅌㅇ / 체크 text : 오빤 강남스타일 / 결과 : true
유효성 검사 text : ㅅㅅ 레이데 / 체크 text : 섹시 레이데 웁웁 / 결과 : true
유효성 검사 text : ㅇㅃ  / 체크 text : 오빤 강남스타일 ~_~ / 결과 : true
유효성 검사 text : 라라라 / 체크 text : 이수영의 라라라 ~_~ / 결과 : true
찾을 문자를 작성해주세요. : ㅆㅆ
쎼쎼쎼~ 아침바람 찬 바람에

찾을 문자를 작성해주세요. : ㄲ
끄억~ 맛좋다

찾을 문자를 작성해주세요. : ㅉ
짜라짜라 짜짜짜~ 무조건 무조건이야~

찾을 문자를 작성해주세요. : ㅃ
뽀로로를 아시나요

찾을 문자를 작성해주세요. : ㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

찾을 문자를 작성해주세요. : ㄸ
뜨거~ 핫 뜨거뜨거 핫뜨거핫

찾을 문자를 작성해주세요. : 아침
쎼쎼쎼~ 아침바람 찬 바람에

 

자세한내용은

 

https://github.com/roka88/searchkorean

 

roka88/searchkorean

한글 초성 검색 으로 유효성 검사 및 Mini 검색 도구. Contribute to roka88/searchkorean development by creating an account on GitHub.

github.com