我正尝试使用NSPredicate
在Core Data
中搜索与多个NSStrings
匹配的所有结果。以下内容适用于查找带有"a"的结果,但如何将NSPredcate设置为查找"a"、"b"one_answers"c"?
NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"Result == 'a'"]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"Result == 'a' OR Result == 'b' OR Result == 'c'"]];
或
编辑:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.Result IN %@",[NSArray arrayWithObjects:@"a",@"b",@"c", nil]];
搜索字符串的另一种方法是使用正则表达式。试试这个:-
NSString *yourString = @"Insert your String here";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"[a|b|c]"
options:NSRegularExpressionCaseInasensitive
error:&error];
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
// your code here
}];