Notice
Recent Posts
Recent Comments
Link
투케이2K
330. (java/자바) [유틸 파일] : getRegExpString : 정규식 수행 및 새로운 문자열 반환 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getRegExpString : 정규식 수행 및 새로운 문자열 반환
// -----------------------------------------------------------------------------------------
public static String getRegExpString(String data, int regType) {
/**
* // -----------------------------------------
* [getRegExpString 메소드 설명]
* // -----------------------------------------
* 1. 정규식 수행 및 새로운 문자열 반환
* // -----------------------------------------
* 2. 호출 방법 :
*
* C_Util.getRegExpString("hello@@TWOK 123안녕", 1); // [영어 소문자만 허용]
* C_Util.getRegExpString("hello@@TWOK 123안녕", 2); // [영어 대문자만 허용]
* C_Util.getRegExpString("hello@@TWOK 123안녕", 3); // [한글만 허용]
* C_Util.getRegExpString("hello@@TWOK 123안녕", 4); // [숫자만 허용]
* C_Util.getRegExpString("hello@@TWOK 123안녕", 5); // [공백, 특수문자 모두 제거]
* C_Util.getRegExpString("hello@@TWOK 123안녕", 6); // [특수문자 모두 제거]
*
* // -----------------------------------------
* 3. 리턴 데이터 : 정규식 수행 된 문자열 반환
* // -----------------------------------------
* */
/**
* // -----------------------------------------
* [요약 설명]
* // -----------------------------------------
* 1. 정규식 패턴 ^[a-z] : 영어 소문자만 허용
* // -----------------------------------------
* 2. 정규식 패턴 ^[A-Z] : 영어 대문자만 허용
* // -----------------------------------------
* 3. 정규식 패턴 ^[ㄱ-ㅎㅏ-ㅣ가-힣] : 한글만 허용
* // -----------------------------------------
* 4. 정규식 패턴 ^[0-9] : 숫자만 허용
* // -----------------------------------------
* 5. 정규식 패턴 ^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9] : 특수문자 및 공백 전체 제거
* // -----------------------------------------
* 6. 정규식 패턴 ^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9\\s] : 특수문자 전체 제거
* // -----------------------------------------
*/
// [결과를 반환할 변수 선언 실시]
String returnData = "";
String M_LOG = "";
// [정규식 패턴 형식 정의]
String pattern_1 = "^[a-z]"; // 정규식 : 영어 소문자만 허용
String pattern_2 = "^[A-Z]"; // 정규식 : 영어 대문자만 허용
String pattern_3 = "^[ㄱ-ㅎㅏ-ㅣ가-힣]"; // 정규식 : 한글만 허용
String pattern_4 = "^[0-9]"; // 정규식 : 숫자만 허용
String pattern_5 = "^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]"; // 정규식 : 한글, 영어, 숫자만 허용 (공백, 특수문자 제거)
String pattern_6 = "^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9\\s]"; // 정규식 : 한글, 영어, 숫자, 공백만 허용 (특수문자 제거)
// [인풋 값 기준으로 패턴 삽입]
String pattern = "";
if (regType == 1){
pattern = pattern_1;
M_LOG = "영어 소문자만 허용";
}
if (regType == 2){
pattern = pattern_2;
M_LOG = "영어 대문자만 허용";
}
if (regType == 3){
pattern = pattern_3;
M_LOG = "한글만 허용";
}
if (regType == 4){
pattern = pattern_4;
M_LOG = "숫자만 허용";
}
if (regType == 5){
pattern = pattern_5;
M_LOG = "공백, 특수문자 모두 제거";
}
if (regType == 6){
pattern = pattern_6;
M_LOG = "특수문자 모두 제거";
}
// [로직 처리 실시]
try {
if (C_Util.stringNotNull(data) == true && C_Util.stringNotNull(pattern) == true) { // [문자열이 널이 아닌 경우 수행]
// for 반복문을 선언해서 문자 한글자씩 확인 실시
for(int i=0; i<data.length(); i++) {
if (String.valueOf(data.charAt(i)).matches(pattern)) { // [정규식 패턴을 만족하는 경우]
returnData += data.charAt(i); // [문자열 추가]
}
else { // [정규식 패턴이 아닌 경우]
continue;
}
}
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
///*
// ===============================================================
S_Log._D_("정규식 수행 및 문자열 반환 실시", new String[]{
"INPUT :: " + String.valueOf(data),
"M_LOG :: " + String.valueOf(M_LOG),
"REGEXP :: " + String.valueOf(pattern),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [결과 반환 실시]
return returnData;
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_Util.getRegExpString(C_Util.java:5353)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 정규식 수행 및 문자열 반환 실시]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: hello@@TWOK 123안녕]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: 영어 소문자만 허용]
I/: ----------------------------------------------------
I/: [LOG :: REGEXP :: ^[a-z]]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: hello]
D///===========//: ================================================
반응형
'Java' 카테고리의 다른 글
Comments