我有一个存储在一个单词列表中NSArray
,我想找到其中所有以'ing'结尾的单词。
有人可以为我提供一些示例/伪代码。
用于NSPredicate
过滤NSArrays
。
NSArray *array = @[@"test", @"testing", @"check", @"checking"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH 'ing'"];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
假设您定义了一个数组:
NSArray *wordList = // you have the contents defined properly
然后您可以使用块枚举数组
// This array will hold the results.
NSMutableArray *resultArray = [NSMutableArray new];
// Enumerate the wordlist with a block
[wordlist enumerateObjectsUsingBlock:(id obj, NSUInteger idx, BOOL *stop) {
if ([obj hasSuffix:@"ing"]) {
// Add the word to the result list
[result addObject:obj];
}
}];
// resultArray now has the words ending in "ing"
(我在这个代码块中使用 ARC)
我给出了一个使用块的示例,因为它在您需要时为您提供了更多选项,并且它是一种更现代的枚举集合的方法。您也可以使用并发枚举来执行此操作,并获得一些性能优势。
只需遍历它并检查后缀:
for (NSString *myString in myArray) {
if ([myString hasSuffix:@"ing"]){
// do something with myString which ends with "ing"
}
}
NSMutableArray *results = [[NSMutableArray alloc] init];
// assuming your array of words is called array:
for (int i = 0; i < [array count]; i++)
{
NSString *word = [array objectAtIndex: i];
if ([word hasSuffix: @"ing"])
[results addObject: word];
}
// do some processing
[results release]; // if you're not using ARC yet.
从头开始输入,应该可以工作:)