1

我有一系列字典。我想通过查看每个字典的 @"name" 字段是否包含给定字符串来过滤该数组。

问题是我想让我的过滤对大小写和变音符号不敏感。

如果数组只包含字符串,我可以轻松使用 NSPredicate。但是,它没有,而且我看不到 NSPredicate 可以适应这种情况的方式。

如果我只关心不区分大小写,我可以遍历所有项目并将小写过滤器字符串与小写名称进行比较。但我不知道变音符号的类似技巧。

在某个地方有一个很好的解决方案吗?

4

2 回答 2

4

检查此问题的最佳答案:

UITableView 的节标题中的非美国字符

您应该能够使用该代码摆脱变音符号,然后进行不区分大小写的比较或搜索。

于 2010-02-05T01:30:40.873 回答
4

怎么样的东西:

NSArray * array = .....
NSString * searchString = @"foo";
NSArray * filteredArray = [array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"name contains[cd] %@", searchString]];
于 2010-02-05T01:34:58.377 回答