使用NSPredcate搜索一系列NSString



我正尝试使用NSPredicateCore 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
}];

最新更新