在Objective-C中,可以使用NSArray的方法来查找字符串。以下是一些常用的方法:
indexOfObject:
方法可以查找指定字符串在数组中的索引。NSArray *array = @[@"apple", @"banana", @"orange"];
NSString *stringToFind = @"banana";
NSUInteger index = [array indexOfObject:stringToFind];
if (index != NSNotFound) {
NSLog(@"字符串 %@ 在数组中的索引为 %lu", stringToFind, (unsigned long)index);
} else {
NSLog(@"字符串 %@ 不在数组中", stringToFind);
}
containsObject:
方法可以检查数组中是否包含指定字符串。NSArray *array = @[@"apple", @"banana", @"orange"];
NSString *stringToFind = @"banana";
if ([array containsObject:stringToFind]) {
NSLog(@"数组中包含字符串 %@", stringToFind);
} else {
NSLog(@"数组中不包含字符串 %@", stringToFind);
}
indexOfObjectIdenticalTo:
方法可以查找指定字符串在数组中的索引,需要注意的是,这个方法比较的是对象的地址,而不是对象的内容。NSArray *array = @[@"apple", @"banana", @"orange"];
NSString *stringToFind = @"banana";
NSUInteger index = [array indexOfObjectIdenticalTo:stringToFind];
if (index != NSNotFound) {
NSLog(@"字符串 %@ 在数组中的索引为 %lu", stringToFind, (unsigned long)index);
} else {
NSLog(@"字符串 %@ 不在数组中", stringToFind);
}
indexOfObjectPassingTest:
方法可以使用一个块来查找符合条件的字符串在数组中的索引。NSArray *array = @[@"apple", @"banana", @"orange"];
NSUInteger index = [array indexOfObjectPassingTest:^BOOL(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
return [obj hasPrefix:@"ba"];
}];
if (index != NSNotFound) {
NSLog(@"符合条件的字符串在数组中的索引为 %lu", (unsigned long)index);
} else {
NSLog(@"数组中没有符合条件的字符串");
}
需要注意的是,以上方法都是针对Objective-C语言的,如果您使用的是Swift语言,可以使用Swift的方法来查找字符串。
领取专属 10元无门槛券
手把手带您无忧上云