0

我是ios新手。

我有一个 NSMutableArray 的 NSDictionary如何过滤数组

//sections is a NSMutableArray of NSMutableDictionary elements

 [sections addObject:getName];
 NSSortDescriptor *sortDescriptorFirst = [NSSortDescriptor sortDescriptorWithKey:@"first" ascending:YES];
       NSSortDescriptor *sortDescriptorLast = [NSSortDescriptor sortDescriptorWithKey:@"last" ascending:YES];

       NSSortDescriptor *descriptor=[NSArray arrayWithObjects:sortDescriptorFirst,sortDescriptorLast,nil];

        NSArray *sortedArray =[sections sortedArrayUsingDescriptors:descriptor];

如何从此处继续代码以将数组与正则表达式值匹配?

4

2 回答 2

0

好的,从您的帖子看来,您可以使用 anNSPredicate而不是 RegEx

尝试这样的事情:

NSPredicate* p = [NSPredicate predicateWithFormat:@"key = %@", value];
NSArray* matches = [arrayOfDicts filteredArrayUsingPredicate:p];

NSPredicate可以使用各种运算符,例如LIKE,!=<

如果您需要根据列表中的值进行过滤,您可以沿着以下行构造一个谓词@"key IN %@", arrayOfPossibleValues

用您尝试过滤的字典中的键替换key该示例代码。如果需要,您可以使用多个键进行过滤。

于 2013-11-01T14:46:11.777 回答
0

如果我正确理解您的问题,您需要一个包含字典所有值的字符串。那将是:

NSString *str = [[dict allValues] componentsJoinedByString:@" "];

然后您可以str像以前一样检查是否与给定的正则表达式模式匹配。

于 2013-11-01T15:04:31.293 回答