如何構造一個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