2
NSArray
의 개체를 필터링하려는 한 시나리오가 있으며 NSDictionary
개체가 있고 모든 개체의 키는 name
입니다. name
키 값이 0-9,[email protected]#$%^&*()_
등의 숫자와 같은 특수 문자 또는 숫자로 시작해야하는 수의 개체로 필터링하고 싶습니다.필터 개체에 대한 NSPredicate whoes 문자열이 특수 문자 BEGINSWITH입니다.
나는이 문제를 Google에서 찾지 만 적절한 해결책을 찾지 못했습니다. 나는 아래의 술어를 사용했지만 올바른 객체를 얻을 수 없다.
NSPredicate *predicate= [NSPredicate predicateWithFormat:@"self.name BEGINSWITH %@",@"[^0-9]+.*"];
작동하지 않는 경우 런타임에 예외가 발생합니다. '잡히지 않은 예외로 인해 응용 프로그램 종료 중'NSInvalidArgumentException ', 이유 :'형식 문자열을 구문 분석 할 수 없습니다. '(SELF MATCHES [c]'^ [A-Za-z]. * '' '') –
구문을 해결 한 후에 시도했습니다. 술어에 오류가 있지만 여전히 작동하지 않습니다. –
예, 이제 작동합니다.하지만 '정규식'은 '@ "^ [A-Za-z] *"'여야합니다. –