Предикат для поиска первой буквы каждого слова в строке слов - PullRequest
0 голосов
/ 23 апреля 2010

Я хотел бы создать предикат для поиска определенной буквы в начале каждого слова в строке слов, например, все слова, начинающиеся с A в @ "Человек съел яблоки", вернули бы съел и яблоки. Можно ли создать такой предикат? Спасибо.

1 Ответ

2 голосов
/ 24 апреля 2010

NSPredicate возвращает true или false при оценке, поэтому вы не можете создать предикат, который возвращает все слова, начинающиеся с «a».

Вы можете создать предикат, который возвращает истину для слов, начинающихся с «а», затем разделить предложение на мир и отфильтровать хорошие слова с помощью предиката, например:

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