如何构造一个NSPredicate,在数组对象中的任何位置查找搜索项?我不能很好地解释它,所以这里是一个例子。NSPredicate与任何字符匹配
NSArray *array = @[@"Test String: Apple", @"Test String: Pineapple", @"Test String: Banana"];
NSString *searchText = @"Apple";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", searchText];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
NSLog(@"filteredArray: %@", filteredArray);
// filteredArray: (
// "Test String: Apple",
// "Test String: Pineapple"
//)
但是,如果我使用NSString *searchText = @"Test Str Appl";
我得到零结果。我希望它匹配这个字符串的相同结果。
我在寻找的是一个搜索功能,它类似于Xcode中的“打开快速”菜单,它不关心你的搜索字符串的措辞是否正确,只是字母的顺序是正确的作为比赛。我真的希望这是有道理的。
很显然,我一直在寻找的术语是“模糊匹配”。 – squarefrog 2013-02-26 14:20:29