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

标签 ios predicate

我想知道是否可以过滤包含多个单词集的数组,以获得仅包含使用谓词以字符串开头的单词的过滤数组:

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

数组:

  • 青椒
  • 白葡萄

@“pe”的过滤数组

  • 青椒

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

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

但这会给我青椒和白葡萄,因为@“pe”也是胡椒的子串。有什么推荐的方法可以实现这一目标吗?

最佳答案

试试这个,

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

关于ios - 使用谓词匹配以特定字符串开头的单词集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13734533/

相关文章:

c# - Linq - 从表达式 <T2> 创建表达式 <T1>

c# - Expression<Func<T,bool>> - 如何处理不明确的方法签名?

ios - 使用 swift 4 在 VIPER 中进行 dataTaskWithURL 崩溃单元测试

没有main函数的iOS可执行文件

ios - 我可以将 USB 音频从 iPhone 传输到 Raspberry Pi 吗?

ios - UILabel 不调整大小

javascript - 用谓词列表替换条件列表(if/switch/三元运算符)有哪些优点和缺点?

java - 将受检异常与 java.util.function.Predicate 一起使用

java - 将 Java 8 谓词与析取相结合

ios - 实例成员 '' 不能用于类型 '' prepareForSegue