匹配字符串的NSpredicate包含指定的字符

时间:2018-12-07 08:00:46

标签: objective-c nspredicate

有没有办法像这样使用nspredicate?

String = whvat

如果字符串包含这些字符[what] {4},我想搜索该字符串。由于找不到v,因此上述字符串不会返回true。我基本上希望谓词在字符串包含“ n”个指定字符时返回true。字符串中可以有其他字符,但是必须明确存在指定的字符。字符顺序无关紧要。即使我给[hwta],它也应该给我一个字whvat,因为找到了4个指定的字符

1 个答案:

答案 0 :(得分:1)

这不是很优雅,但是您可以尝试为每个字符做谓语:

NSPredicate *p = [NSPredicate predicateWithFormat:@"self contains 'w' and self contains 'h' and self contains 'a' and self contains 't'"];
NSString *string = @"what";
NSLog(@"%d ", [p evaluateWithObject:string]);