Objective c 使用后缀搜索NSArray
我在Objective c 使用后缀搜索NSArray,objective-c,search,nsarray,Objective C,Search,Nsarray,我在NSArray中存储了一个单词列表,我想找到其中所有以“ing”结尾的单词 有人能给我提供一些示例/伪代码吗。NSMutableArray*results=[[NSMutableArray alloc]init]; NSMutableArray *results = [[NSMutableArray alloc] init]; // assuming your array of words is called array: for (int i = 0; i < [array cou
NSArray
中存储了一个单词列表,我想找到其中所有以“ing”结尾的单词
有人能给我提供一些示例/伪代码吗。NSMutableArray*results=[[NSMutableArray alloc]init];
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.
//假设您的单词数组称为数组:
对于(int i=0;i<[数组计数];i++)
{
NSString*word=[array objectAtIndex:i];
如果([word hasuffix:@“ing”])
[结果添加对象:word];
}
//做一些处理
[结果发布];//如果您还没有使用ARC。
从头开始键入,应该可以工作:)NSMutableArray*results=[[NSMutableArray alloc]init];
//假设您的单词数组称为数组:
对于(int i=0;i<[数组计数];i++)
{
NSString*word=[array objectAtIndex:i];
如果([word hasuffix:@“ing”])
[结果添加对象:word];
}
//做一些处理
[结果发布];//如果您还没有使用ARC。
从头开始输入,应该可以:)只需在其中循环并检查如下后缀:
for (NSString *myString in myArray) {
if ([myString hasSuffix:@"ing"]){
// do something with myString which ends with "ing"
}
}
只需循环遍历它并检查如下后缀:
for (NSString *myString in myArray) {
if ([myString hasSuffix:@"ing"]){
// do something with myString which ends with "ing"
}
}
用于过滤nsarray
NSArray *array = @[@"test", @"testing", @"check", @"checking"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH 'ing'"];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
用于过滤nsarray
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)
我举了一个使用块的例子,因为如果您需要,它会给您更多的选项,而且它是枚举集合的更现代的方法。您还可以通过并发枚举实现这一点,并获得一些性能优势。假设您定义了一个数组:
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)
我举了一个使用块的例子,因为如果您需要,它会给您更多的选项,而且它是枚举集合的更现代的方法。您也可以通过并行枚举来实现这一点,并获得一些性能优势。只是一个警告:您可能会发现,在没有展示自己的大量研究成果的情况下问“有人能请…”可能会引起负面反应(反对票、接近票等)那么:到目前为止,你做了些什么来解决这个问题呢?只是警告一句:你可能会发现,在没有展示自己的研究成果的情况下问“有人能请你……”可能会引起负面反应(反对票、接近票等)那么:到目前为止,你做了什么来解决这个问题?+1用于使用谓词-过滤数组的另一个好方法。+1用于使用谓词-过滤数组的另一个好方法。