`
zcw_java
  • 浏览: 303757 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NSOrderedSame NSOrderedAscending NSOrderedDescending枚举比较a==b

 
阅读更多
 NSString 两个字符串的比较,用 a compare:b 来比,得出的结果分3种  

1. 26个字母比较  越靠后面  越大
    NSString *a = @"qweqwe";
    NSString *b = @"qweasd";
    BOOL result = [a compare:b];
    if (result == NSOrderedSame) {          // NSOrderedSame = 0 完全一样
        NSLog(@"a = b");
    }else if(result == NSOrderedAscending)  // NSOrderedAscending = -1
        NSLog(@"a < b");
    else{                                   //NSOrderedDescending = +1
        NSLog(@"a > b");
    }
 
    2011-07-05 15:04:33.951 Q[5180:207] a > b

2.比较数字或者符号,或者字母 什么都行
 
   NSString *a = @"1.0.30qweqwe";
    NSString *b = @"1.0.45qweasd";
    BOOL result = [a compare:b];
    if (result == NSOrderedSame) {          // NSOrderedSame = 0 完全一样
        NSLog(@"a = b");
    }else if(result == NSOrderedAscending)  // NSOrderedAscending = -1
        NSLog(@"a < b");
    else{                                   //NSOrderedDescending = +1
        NSLog(@"a > b");
    }
 
  2011-07-05 15:05:13.175 Q[5209:207] a < b

3.不考虑大小写比较字符串 
[a caseInsensitiveCompare:b]
 
 
 
- (void)viewDidLoad
{
    NSString *a = @"i love my boyfriend.";
    NSString *b = @"I Love My Boyfriend.";
    NSLog(@" \n a:  %@ \n",a);
    NSLog(@" \n b:  %@ \n",a);
    BOOL result = [a caseInsensitiveCompare:b] ==  NSOrderedSame;
}
// result = (BOOL) YES;

4.不考虑大小写比较字符串 
[a caseInsensitiveCompare:b]
 
- (void)viewDidLoad
{
    NSString *a = @"i love my boyfriend.";
    NSString *b = @"Little baby.";
    NSLog(@" \n a:  %@ \n",a);
    NSLog(@" \n b:  %@ \n",a);
    BOOL result = [a caseInsensitiveCompare:b] ==  NSOrderedAscending;
}
//result = (BOOL) YES;


5. 有选择的比较大小   [a compare:b options:NSCaseInsensitiveSearch|NSNumericSearch]
- (void)viewDidLoad
{
    NSString *a = @"i love my boyfriend.";
    NSString *b = @"I Love My Boyfriend.";
    NSLog(@" \n a:  %@ \n",a);
    NSLog(@" \n b:  %@ \n",b);
    BOOL result = [a compare:b options:NSCaseInsensitiveSearch|NSNumericSearch] ==  NSOrderedSame;
}
//result = (BOOL)YES;
NSCaseInsensitiveSearch  忽略大小写的比较字符串
NSNumericSearch       比较字符串的个数
NSLiteralSearch       区分大小写,进行完全比较
分享到:
评论

相关推荐

    iphone存储用法汇总

    - 使用`compare:`方法,该方法返回三种比较结果:NSOrderedAscending、NSOrderedSame、NSOrderedDescending。 #### NSMutableString `NSMutableString`提供了可变字符串的功能,允许在运行时添加、删除或替换文本...

    OC-初学者基础-字符串

    // returns NSOrderedAscending, NSOrderedSame or NSOrderedDescending ``` **字符串的追加** 追加字符串通常使用`appendString:`或`stringByAppendingString:`方法(对于NSMutableString对象),对于NSString...

    oc字符串练习题

    OC语言提供了多种方法来对字符串进行排序,例如compare:方法比较两个字符串的大小,可以使用NSOrderedAscending、NSOrderedSame和NSOrderedDescending三个常量来判断字符串的大小关系。 字符串的练习题 1. 求字符...

    判断当前时间是否在设定好的时间范围内

    这里,`compare:`方法会返回三个枚举值:`NSOrderedAscending`(小于),`NSOrderedSame`(等于)或`NSOrderedDescending`(大于)。如果当前时间大于等于开始时间且小于等于结束时间,说明在范围内。 当然,为了使...

    NSDate时间

    - `-compare:`方法用于比较两个`NSDate`对象,返回NSOrderedAscending、NSOrderedSame或NSOrderedDescending。 - `-earlierDate:`和`-laterDate:`方法用于获取两个日期中较早或较晚的一个。 3. **日期格式化** -...

    iOS 10 的适配问题 - 如果你浪费了一天,那么你就真的浪费了一天 - 博客频道 - CSDN.NET1

    #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame) #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] ...

    Object-C数组排序

    上述代码中,`compare:`方法是NSNumber对象内置的比较方法,会根据数值大小返回`NSOrderedAscending`、`NSOrderedSame`或`NSOrderedDescending`。 3. **自定义比较规则** 如果需要基于自定义规则排序,Block可以...

    oc数组排序

    这里,比较器block返回`NSOrderedAscending`、`NSOrderedSame`或`NSOrderedDescending`来决定元素的相对顺序。 对于更复杂的排序需求,如按照数字值或者自定义对象的属性,我们可以修改比较器block。比如,如果对象...

    object-c排序方法

    这些方法都遵循`NSComparisonResult`的协议,该协议定义了比较操作的结果,可以是`NSOrderedAscending`(小于)、`NSOrderedSame`(相等)或`NSOrderedDescending`(大于)。 在`main`函数中,我们创建了一个不可变...

    oc中数组排序

    return NSOrderedDescending; } else if ([obj1 age] [obj2 age]) { return NSOrderedAscending; } else { return NSOrderedSame; } }; ``` 然后使用这个比较器来对数组排序: ```objc [myMutableArray ...

    FrameWork +ios

    - **NSOrderedAscending**: 字符串A小于字符串B。 - **NSOrderedEqual**: 字符串A等于字符串B。 - **NSOrderedDescending**: 字符串A大于字符串B。 - **NSOrderedSame** 不是 `NSString` 的比较结果之一。 **2.2 ...

    objective-c 中代码块(blocks)详解

    这里,我们直接传递了一个匿名代码块作为 `qsort_b` 的第三个参数,该代码块用于比较两个字符串的首字母大小写。 #### 四、使用 Block 进行集合排序 在 Cocoa 框架中,很多方法都支持使用 Block 来进行集合的操作...

    Objective-C中字符串NSString的常用操作方法总结

    - `compare:`:此方法提供更细粒度的比较,返回NSComparisonResult枚举值,表示字符串的顺序关系。当两个字符串相等时,返回NSOrderedSame。 4. **字符串大小写转换** - `lowercaseString`:将字符串全部转换为...

Global site tag (gtag.js) - Google Analytics