Objective - C에서 정규식 사용하기
NSRegularExpressionSearch
Cocoa에서 문자열 내에 특정 문자열이 포함되어 있는지 여부를 알고 싶을 때는 NSString의 rangeOfString: 이라는 메서드를 사용한다. Ruby의 String # index 와 유사한 방법으로 문자열이 어디에 있는지 위치를 반환해준다.
NSString *string = @"I love Udon."; NSRange match = [string rangeOfString:@"Udon"]; if (match.location != NSNotFound) { NSLog(@"Found: %@",[string substringWithRange:match]); } else { NSLog(@"Not Found"); } |
이것을 좀더 세부적으로 사용할 수 있는 옵션이 있습니다. rangeOfString : options : 라는 메서드를 이용하면 되는데 iOS 3.2 이상에서 만 사용 가능합니다.
NSString * string = @ "1 일 3 식 중 4 음식은 우동을 먹고 싶은 생각이있다"; NSRange match = [string rangeOfString:@"[0-9]+ 식" options: NSRegularExpressionSearch]; if (match.location != NSNotFound) { NSLog(@"Found: %@",[string substringWithRange:match]); } else { NSLog(@"Not Found"); NSLog (@ "Not Found"); } |
NSRegularExpression
이것은 정규식 자체를 처리하는 클리스로 iOS 4.0 이상에서만 지원된다.