对于比较两个字符串的大小,compare 与 compare: Options 是两个常用的方法。
这两个方法的原型为:
- (NSComparisonResult)compare:(NSString *)string;
- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask;
由此可见,这两个方法都是对象方法。其实大多数NSString方法都是对象方法,因为NSString就是对象类型。
举例如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"abc";
NSString *str2 = @"Abc";
//compare 如果是字符串比较,返回值类型是NSComparisonResult
//其结果有三个值:-1L,0,1
//默认区分大小写
//compare: options: 可以使用|来添加多个条件
//NSComparisonResult result = [str1 compare:str2]; //区分大小写
//NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch]; //不区分大小写
NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch]; //两个条件:既区分大小写,还比较个数。
switch (result) {
case -1l:
NSLog(@"\nstr1 < str2");
break;
case 0:
NSLog(@"\nstr1 == str2");
break;
case 1:
NSLog(@"\nstr1 > str2");
default:
break;
}
}
return 0;
}