【问题标题】:Filter array using pattern使用模式过滤数组
【发布时间】:2012-08-18 22:40:01
【问题描述】:

我有一个单词数组(所有单词都在 NSMutableArray 中)。我需要过滤如下所示的单词。

???? - 任何四个字母的单词 ma?t* - 任何以字母“ma”开头且第四个字母为“t”的单词。 z - 任何包含字母“z”的单词 不? - 任何五个字母的单词,“n”作为第二个字母,“t”作为第四个字母。 *s*b* - 任何包含字母“s”和其余字母中的字母“b”的单词。 口 - 如果当前单词列表中存在单词“moth”,将返回 t*s? - 任何以字母“t”开头的单词,长度至少为三个字母,并且单词的倒数第二个字母为“s”。 * - 返回单词列表中的所有单词。

【问题讨论】:

    标签: iphone objective-c ios design-patterns


    【解决方案1】:

    您可以使用以下代码使用模式进行过滤

    -(NSMutableArray *)searchByPattern:(NSString *)patternString inputArray:(NSMutableArray *)inputArray
    {
        NSLog(@"orginal Array count=%d",[inputArray count]);
        NSString *match=[NSString stringWithFormat:@"%@",patternString];
        NSLog(@"match = %@",match);
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like %@",match];    
        NSMutableArray *mArrayFiltered = [[inputArray filteredArrayUsingPredicate:predicate] mutableCopy];
        //NSLog(@"mArrayFiltered = %@ count = %d",mArrayFiltered,[mArrayFiltered count]);
        return mArrayFiltered;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2013-06-18
      • 1970-01-01
      • 2023-01-02
      • 1970-01-01
      • 2021-08-19
      相关资源
      最近更新 更多