투케이2K

232. (java/자바) matches 정규식 (RegEx) 사용법 정리 - 특수문자 제거 및 지정 문자 허용 본문

Java

232. (java/자바) matches 정규식 (RegEx) 사용법 정리 - 특수문자 제거 및 지정 문자 허용

투케이2K 2021. 8. 10. 07:58
반응형

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java


[소스 코드]

package ex6;

public class MainActivity9 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[Program Start]");
		System.out.println("");
		
		// 초기 변수 선언 실시
		String data = "admin123, ***! TWOK.반가워";
		System.out.println("원본 문자 : " + data);
		System.out.println("원본 길이 : " + data.length());
		System.out.println("");
		
		// 특수문자 제거 결과 확인 
		String removeData = replaceSpecialString(data);
		System.out.println("특수문자 제거 결과 : " + removeData);
		System.out.println("특수문자 제거 길이 : " + removeData.length());
		System.out.println("");

	}// 메인 종료
	
	public static String replaceSpecialString(String value) {
		// 결과를 반환할 변수 선언 실시
		String result = "";
		
		/*[설 명]
		 * 1. matches 를 사용하면 정규식 만들 수 있습니다 (RegEx)
		 * 2. 정규식은 사용 방법 : 대괄호 [정규식 패턴] 을 지정해서 특정 패턴의 문자만 출력할 수 있습니다
		 * 3. 정규식 패턴 [a-z] : 영어 소문자 지정
		 * 4. 정규식 패턴 [A-Z] : 영어 대문자 지정
		 * 5. 정규식 패턴 [ㄱ-ㅎㅏ-ㅣ가-힣] : 한글 지정
		 * 6. 정규식 패턴 [.,!?] : 허용하고자하는 특수문자 지정
		 * 7. 정규식 패턴 [^a-z] : 꺽쇠를 붙이는 경우 영어 소문자가 아닌 경우    
		 * 8. [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣] : a-z 소문자, A-Z 대문자, 0-9 숫자, 한글 (ㄱ-ㅎ / ㅏ-ㅣ / 가-힣) [허용]
		 * 9. [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣.,] : a-z 소문자, A-Z 대문자, 0-9 숫자, 한글(ㄱ-ㅎ / ㅏ-ㅣ / 가-힣), 반점, 마침표 [허용]
		 * 10. 특수문자 및 공백 제거 : [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣] 정규식과 replaceAll을 사용하면됩니다 
		 */
		
		// for 반복문을 선언해서 문자 한글자씩 확인 실시
		for(int i=0; i<value.length(); i++) {			
			if (String.valueOf(value.charAt(i)).matches("[a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣]")) { // 지정된 패턴 형식 문자열인 경우
				result += value.charAt(i); // 문자열 추가
			}
		}
		
		// 공백까지 제거해서 결과 반환 시 사용
		result = result.replaceAll(" ", "");
		
		// 결과 반환 실시
		return result;
	}

}// 클래스 종료

[결과 출력]


[요약 설명]

/*[설 명]

* 1. matches 를 사용하면 정규식 만들 수 있습니다 (RegEx)

* 2. 정규식은 사용 방법 : 대괄호 [정규식 패턴] 을 지정해서 특정 패턴의 문자만 출력할 수 있습니다

* 3. 정규식 패턴 [a-z] : 영어 소문자 지정

* 4. 정규식 패턴 [A-Z] : 영어 대문자 지정

* 5. 정규식 패턴 [ㄱ-ㅎㅏ-ㅣ가-힣] : 한글 지정

* 6. 정규식 패턴 [.,!?] : 허용하고자하는 특수문자 지정

* 7. 정규식 패턴 [^a-z] : 꺽쇠를 붙이는 경우 영어 소문자가 아닌 경우

* 8. [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣] : a-z 소문자, A-Z 대문자, 0-9 숫자, 한글 (ㄱ-ㅎ / ㅏ-ㅣ / 가-힣) [허용]

* 9. [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣.,] : a-z 소문자, A-Z 대문자, 0-9 숫자, 한글(ㄱ-ㅎ / ㅏ-ㅣ / 가-힣), 반점, 마침표 [허용]

* 10. 특수문자 및 공백 제거 : [a-zA-Z0-9 ㄱ-ㅎㅏ-ㅣ가-힣] 정규식과 replaceAll을 사용하면됩니다

*/


 

반응형
Comments