使用谓词匹配由特定字符串开头的单词集

时间:2012-12-05 23:39:51

标签: ios predicate

我想知道是否可以过滤包含多组单词的数组,以获得一个过滤的数组,该数组只包含以谓词开头的单词:

我想一个例子会自己说话:

阵列:

  • 青椒
  • 白葡萄

@“pe”的过滤数组

  • 青椒

目前我正在应用以下一个谓词:

  NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",searchText];
  NSArray *tempArray = [[self.searchContent objectAtIndex:INGREDIENT] filteredArrayUsingPredicate:predicate];
  [self.ingredientsFiltered addObjectsFromArray:tempArray];

但这会给我青椒和白葡萄,因为@“pe”也是辣椒的子串。有没有推荐的方法来实现这个目标?

1 个答案:

答案 0 :(得分:2)

试试这个,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES[c] %@", [NSString stringWithFormat: @".*\\b%@.*",searchText]];