투케이2K

212. (AndroidStudio/android/java) 정규식 수행 메소드 - RegEx 본문

Android

212. (AndroidStudio/android/java) 정규식 수행 메소드 - RegEx

투케이2K 2021. 11. 2. 09:00

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : java


[소스 코드]

    // TODO [정규식 수행 메소드 : C_Util.matchString("hello@1")]
    public static String matchString(String value) {
        /*
        [요약 설명]
        1. 정규식 패턴 ^[a-z] : 영어 소문자 허용
        2. 정규식 패턴 ^[A-Z] : 영어 대문자 허용
        3. 정규식 패턴 ^[ㄱ-ㅎㅏ-ㅣ가-힣] : 한글 허용
        4. 정규식 패턴 ^[ㄱ-ㅎㅏ-ㅣ가-힣] : 숫자 허용
        5. 정규식 패턴 ^[ ] or ^[\\s] : 공백 허용
        */

        // 결과를 반환할 변수 선언 실시
        String result = "";

        // 정규식 패턴 형식 정의
        String pattern = "^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]"; // 정규식 : 한글, 영어, 숫자만 허용 (공백, 특수문자 제거)
        //String pattern = "^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9\\s]"; // 정규식 : 한글, 영어, 숫자, 공백만 허용 (특수문자 제거)

        if (value != null && value.length() > 0 && value.equals("") == false) { // 문자열 길이가 1개 이상인 경우
            // for 반복문을 선언해서 문자 한글자씩 확인 실시
            for(int i=0; i<value.length(); i++) {
                if (String.valueOf(value.charAt(i)).matches(pattern)) { // 정규식 패턴을 만족하는 경우
                    result += value.charAt(i); // 문자열 추가
                }
                else { // 정규식 패턴이 아닌 경우
                    continue;
                }
            }
        }
        else { // 문자열 길이가 0개인 경우
            result = value; // 인풋값 그대로 반환
        }

        // 결과 반환 실시
        return result;
    }

[결과 출력]


 

반응형
Comments