0
제목에 거의 쓰여 있습니다 - 지정된 문자열을 취할 수있는 조건부를 작성하려고 시도하고 다른 문자열 내 문자열에 적어도 세 글자가 들어 있습니다. 이것은 문자 순서 및 대소 문자에 관계없이 중복 된 문자 발생을 포함합니다. 예를 들어, 3 개의 문자로 구성된 대용량 배열을 가지고 있다면, 6 개의 문자 (또는 6 개의 단일 문자열)를 가진 문자열을이 술어에 전달하여 다음과 같이 사용할 수 있기를 원합니다. 내 배열의 세 글자 중 하나가 내가 전달한 여섯 글자 중 세 가지로 구성되었는지 (중복 포함) 평가하십시오.평가 된 문자열에 주어진 문자열에 포함 된 3 자 이상의 문자가 포함되어있는 경우 true로 평가되는 NSPredicate
것은 나는의 라인을 따라 뭔가 될 것 생각했다 :
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] .{3,}%@",<array of characters>];
하지만 문법이 잘못된 것을 알고있다.
이 정규식은 이런 식으로 할 수없는 시도합니다. 다른 접근법을 고려해야합니다. –
명확하지 않습니다 ("중복 포함"). "유효"하거나 "중복"이있는 샘플이 있습니까? 만약 당신이 블록을 사용하는 것이 좋다면 다음과 같이하면된다 : NSISnteger count {if ([evaluateObject length] <3) {returnNotable bindings, NSDictionary = 0; (NSUInteger i = 0; i <[myString length]; i ++) {NSString * subString = [myString substringWithRange : NSMakeRange (i, 1)]; if ([evaluateObject rangeOfString : subString] .location! = NSNotFound) {count ++; if (count> 3) return YES;}} return NO;}];' –
Larme