整理的,分享给大家
- /*
- 1、字符串比较函数
-
- 1)字符串比较大小
- 字符串根据排列顺序的不同,会有大小的差异,如果我们要比较两个字符串的大小的话,可以使用compare方法
- compare 方法的返回结果有三种:
-
- NSOrderedAscending 升序(前面字符串小于后面字符串)
- NSOrderedSame 相等
- NSOrderedDescending 降序(前面字符串大于后面字符串)
-
- str1 > str2 NSOrderedDescending 1
- str1 < str2 NSOrderedAscending -1
- str1 == str2 NSOrderedSame 0
-
- 2)比较字符串大小,指定条件
-
- 如果忽略大小写的话,可以在options 里面加一个参数 NSCaseInsensitiveSearch;具体如下:
- NSComparisonResult result2 = [str1 compare:str2 options:NSCaseInsensitiveSearch];
-
- 常见的有三个:
- NSCaseInsensitiveSearch = 1,(不区分大小写字符)
- NSLiteralSearch = 2,(进行完全比较,区分大小写。<默认>)
- NSNumericSearch = 64,(比较字符串的字符个数,而不是字符值)
-
- 3)判断字符串是否相等
-
- 思考&实现:
-
- 字符串判断相等是否能够使用“==”进行判断?
-
- //“==” 不能够判断字符串是否相等的
- //判断字符串内容是否真正相等,使用的是isEqualToString:
- //isEqualToString: 是区分大小写的
-
-
- */
- #import <Foundation/Foundation.h>
- void test(){
- NSString *str1 = @"abc"; //a 97
- NSString *str2 = @"Abc"; //A 65
-
- //取出每个字符的ASCII码值,比较ASCII码值的大小
- //compare 比较大小
- //compare 默认的区分大小写
- //compare 这个函数不能增加条件
- // NSComparisonResult result = [str1 compare:str2];
-
- //比较的时候不区分大小写的方法 NSCaseInsensitiveSearch,还参考字符的个数NSNumericSearch
- //
- NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch | NSNumericSearch];
-
-
- //
- switch (result) {
- case NSOrderedAscending:
- NSLog(@"str1 < str2 升序");
- break;
- case NSOrderedDescending:
- NSLog(@"str1 > str2 降序");
- break;
- case NSOrderedSame:
- NSLog(@"str1 == str2 相等");
- break;
-
- default:
- break;
- }
-
- }
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
-
- NSString *str1 = @"abc"; //a 97
- NSString *str2 = @"Abc"; //A 65
- NSString *str3 = [NSString stringWithFormat:@"Abc"];
-
- //地址的比较
- //“==” 不能够判断字符串是否相等的
- //判断字符串内容是否真正相等,使用的是isEqualToString:
- //isEqualToString: 是区分大小写的
- if ([str1 isEqualToString: str3]) {
- NSLog(@"相等");
- }else{
- NSLog(@"不相等");
- }
- }
- return 0;
- }
复制代码
|
|