用于搜索一串单词中每个单词的第一个字母的谓词

时间:2010-04-23 19:54:17

标签: objective-c cocoa cocoa-touch core-data predicate

我想创建一个谓词来搜索一串单词中每个单词开头的特定字母,例如在@“男人吃苹果”中以A开头的所有单词都会返回吃饭和苹果。是否有可能创建这样的谓词?谢谢。

1 个答案:

答案 0 :(得分:2)

NSPredicate在计算时返回true或false,因此您无法创建返回以“a”开头的所有单词的谓词。

您可以创建一个谓词,对于以“a”开头的单词返回true,然后将该句子拆分为world,并使用谓词过滤好单词:

NSArray *words = [sentence componentsJoinedByString:@" "];
NSPredicate *beginsWithA = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'a'"];
NSArray *wordsBeginsWithA = [words filteredArrayUsingPredicate:beginsWithA];