String包含数组中的任何条目

时间:2014-08-14 15:05:13

标签: objective-c cocoa nspredicate

我想确定string是否包含使用NSPredicate的任何数组元素。例如,假设存在下一个字符串: NSString *component = @"appleMouse";
我想确定,component字符串是否包含以下任何数组条目:NSArray *components = @[@"logitec", @"apple"]。在伪谓词格式字符串中,这将看起来像:“component CONTAINS[c] ANY $Components”,但在实际谓词格式字符串中,此字符串会产生错误:“无法解析格式字符串”。

预期结果:
BOOL contains = [predicate evaluateWithObject:component]; // YES

也许有人解决了类似的问题,知道怎么办?
感谢。

1 个答案:

答案 0 :(得分:1)

不确定,如果这适用于NSPredicate。

如果您想要完全匹配,可以撤消逻辑并使用{​​{1}},如下所示:

containsObject:

或者,如果您需要更复杂的测试(如子字符串等),请使用BOOL contains = [components containsObject:component];

indexOfObjectPassingTest:

(没有从内存中测试代码)