Notice
Recent Posts
Recent Comments
Link
투케이2K
29. (Objective-C/objc) 정규식 NSRegularExpressionSearch 사용해 공백 및 특수 문자 제거 실시 본문
Objective-C
29. (Objective-C/objc) 정규식 NSRegularExpressionSearch 사용해 공백 및 특수 문자 제거 실시
투케이2K 2022. 3. 7. 08:12[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : OBJECTIVE-C
[testMain 함수]
// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
printf("\n");
printf("=============================== \n");
printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
printf("=============================== \n");
printf("\n");
// [초기 변수 선언 실시]
NSString *strData = @"hello%^@ 투케이2k ㅎㅎ!#$&TW*(O)K=+";
// [정규식 패턴 정의 실시]
NSString *pattern_1 = @"^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]$"; // 정규식 : 한글, 영어, 숫자만 허용 (공백, 특수문자 제거)
NSString *pattern_2 = @"^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9\\s]$"; // 정규식 : 한글, 영어, 숫자, 공백만 허용 (특수문자 제거)
// [공백 + 특수 문자 제거 정규식 작성]
NSString *removeData_1 = @"";
@try {
// [for 문을 수행하면서 한글자씩 정규식 확인 실시]
for (int i=0; i<strData.length; i++){
// [substring 사용해 문자열 한글자씩 출력]
NSString *charAt = [strData substringWithRange:NSMakeRange(i, 1)];
// [데이터가 정규식 패턴을 만족하는지 체크]
NSRange checkPattern = [charAt rangeOfString:pattern_1 options:NSRegularExpressionSearch];
// [정규식 패턴을 만족하는 경우만 문자열 추가]
if (checkPattern.location != NSNotFound){
removeData_1 = [removeData_1 stringByAppendingString:charAt];
}
}
// [결과 출력]
printf("\n");
printf("=============================== \n");
printf("[원 본 : %s] \n", strData.description.UTF8String);
printf("[정규식 [공백 및 특수문자 제거] : %s] \n", removeData_1.description.UTF8String);
printf("=============================== \n");
printf("\n");
} @catch (NSException *exception) {
printf("\n");
printf("=============================== \n");
printf("[catch [name] :: %s] \n", exception.name.description.UTF8String);
printf("[catch [reason] :: %s] \n", exception.reason.description.UTF8String);
printf("=============================== \n");
printf("\n");
}
// [특수 문자 제거 정규식 작성]
NSString *removeData_2 = @"";
@try {
// [for 문을 수행하면서 한글자씩 정규식 확인 실시]
for (int i=0; i<strData.length; i++){
// [substring 사용해 문자열 한글자씩 출력]
NSString *charAt = [strData substringWithRange:NSMakeRange(i, 1)];
// [데이터가 정규식 패턴을 만족하는지 체크]
NSRange checkPattern = [charAt rangeOfString:pattern_2 options:NSRegularExpressionSearch];
// [정규식 패턴을 만족하는 경우만 문자열 추가]
if (checkPattern.location != NSNotFound){
removeData_2 = [removeData_2 stringByAppendingString:charAt];
}
}
// [결과 출력]
printf("\n");
printf("=============================== \n");
printf("[원 본 : %s] \n", strData.description.UTF8String);
printf("[정규식 [특수문자 제거] : %s] \n", removeData_2.description.UTF8String);
printf("=============================== \n");
printf("\n");
} @catch (NSException *exception) {
printf("\n");
printf("=============================== \n");
printf("[catch [name] :: %s] \n", exception.name.description.UTF8String);
printf("[catch [reason] :: %s] \n", exception.reason.description.UTF8String);
printf("=============================== \n");
printf("\n");
}
}
[결과 출력]
반응형
'Objective-C' 카테고리의 다른 글
Comments