我想获取以特定字母开头的数组索引, 示例:我有一个数组
NSArray *arr = @[@"apple", @"aghf", @"chg", @"dee", @"ijh", @"inbv", @"khh"];
如何获取以" a"?开头的数组元素的索引
如果它是0和1,如何获得这两个值?请帮忙
答案 0 :(得分:3)
我会使用NSArray的indexesOfObjectsPassingTest:
方法来处理这个问题。它将为您提供一个索引集,其中包含通过您指定的测试的所有索引。在这种情况下,字符串是否以字母" a"为前缀。
NSArray *array = @[@"apple", @"aghf", @"chg", @"dee", @"ijh", @"inbv", @"khh"];
NSIndexSet *indexes = [array indexesOfObjectsPassingTest:^BOOL(NSString *string, NSUInteger idx, BOOL *stop) {
return [string hasPrefix:@"a"];
}];
NSLog(@"%@",indexes);
从那里,如果你宁愿将这些索引存储在一个数组中,你所要做的就是枚举该集合,并将包含索引的NSNumbers添加到一个新数组中。
答案 1 :(得分:0)
使用以下代码:
text = @"a";
filterArray = [[NSMutableArray alloc] init];
for(int i=0; i<names.count; i++)
{
NSString *obj = names[i];
NSRange nameRange = [obj rangeOfString:text options:NSCaseInsensitiveSearch];
if(nameRange.location != NSNotFound && nameRange.location == 0)
[responseArray addObject:obj];
}