`
浮生长恨
  • 浏览: 212086 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

NSString [a compare:b] NSOrderedSame NSOrderedAscending NSOrderedDescending -转

阅读更多
原文地址:http://blog.sina.com.cn/s/blog_8345c9c90100vevx.html

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       区分大小写,进行完全比较
分享到:
评论

相关推荐

    ios 自带表情 转义字符实现

    NSString *s = @"This is a smiley \ue415 face"; testFace.text = s; ``` 这里的关键在于如何让Objective-C识别并正确处理这种转义字符。实际上,Objective-C本身并不直接支持`\ue415`这样的转义字符格式,但可以...

    iphone存储用法汇总

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

    ios 视频播放器:AVPlayer(附:seektotime精准定位) - iOS知识库1

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary,id&gt; *)change context:(void *)context { if ([keyPath isEqualToString:@"status"]) { AVPlayerStatus status = ...

    iOS NSString详细操作

    [view setTitle:aString]; ``` 3. **释放`NSString`对象**: - 如果使用`alloc`和`init`方法创建的`NSString`对象,需要手动释放。 ```objective-c [aString release]; ``` 4. **快速创建并使用`NSString`**...

    ios的NSString, char, NSData格式转化

    iOS NSString, char, NSData格式转化 iOS 开发中,我们经常需要在...在上面的代码中,我们首先创建了一个NSString对象`aStr`,然后使用`dataUsingEncoding`方法将其转化为NSData对象,并将结果存储在`aData`变量中。

    如何学习iPhone之开发过程中的一些小技术的总结--千锋培训

    NSString *fileContent = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; ``` 2. **读取图片资源**: - 使用`UIImage`的`imageNamed:`方法: ```objective-c UIImage...

    NSString-Validation:NSString 上用于检查有效性和转换字符串的类别

    在`NSString-Validation-master`压缩包中,你将找到实现这些功能的源代码,包括`.h`头文件(声明方法)和`.m`实现文件(定义方法)。通过导入这个类别到你的项目中,你可以直接利用这些验证和转换功能,从而提升开发...

    Objective-C语法概要

    NSString *myString = [NSString string]; ``` 需要注意的是,Objective-C中的所有对象变量都是指针类型,因此需要在类型后面加上星号。 #### 六、嵌套消息 Objective-C中的嵌套消息是一种特殊的调用方式,示例代码...

    iphone 开发比用的NSString转化技巧

    - 使用`componentsJoinedByString:`方法,将数组中的所有元素连接成一个字符串,例如:`NSString *combinedStr = [@[ @"a", @"b", @"c" ] componentsJoinedByString:@", "];` 6. **NSDate转NSString**: - 首先...

    Object-c字符串数组字典

    在Objective-C中,字符串被封装在NSString类中,数组由NSArray和NSMutableArray类来管理,字典则由NSDictionary和NSMutableDictionary来实现,而集合则由NSSet和NSMutableSet来表示。此外,还提供了快速枚举等便捷的...

    httprequest

    NSString *response = [request responseString]; // 处理响应字符串 } } ``` ##### 异步请求 异步请求则不会阻塞主线程,更适合用于大数据量的下载。下面是一个简单的异步请求示例: ```objective-c - ...

    ios demo,NSData和NSString之间的相互转换的源代码

    1. **NSData转NSString**:通常使用`- initWithData:encoding:`或`+ stringWithData:encoding:`方法,其中encoding参数指定字符编码,如NSUTF8StringEncoding,以将二进制数据解析为字符串。例如: ```objective-c ...

    iOS项目开发知识点总结

    NSString *stringFromCGRect = NSStringFromCGRect(frame); ``` - **从字符串恢复CGRect**: ```objective-c CGRect rect = CGRectFromString(stringFromCGRect); ``` - **调整CGRect的大小**: ```...

    iPhone开发:Objective-C语法入门.pdf

    - 字符串类型:使用`NSString *`来声明字符串指针。 - 数组类型:可以使用`NSArray *`声明数组指针。 - 字典类型:可以使用`NSDictionary *`声明字典指针。 ##### 3. 变量定义 变量用于存储数据。在Objective-C中,...

    项目中的问题

    - 例如,如果预期数据类型为`NSNumber`,但在实际接收到的数据为`NSString`时,应进行适当的类型转换。 #### 六、数组越界 数组越界是编程中常见的错误之一,特别是在处理网络请求后的数据时更为常见。 **解决建议...

    object-c初学者中文教程

    NSString *myString = [[NSString alloc] initWithFormat:@"Hello, World!"]; ``` #### 四、小结 Objective-C是一种功能强大且灵活的编程语言,尤其适合于苹果平台的应用程序开发。通过上述介绍,我们了解了...

    Objective-C Cheat Sheet

    [myClass doItWithA:a andB:b]; ``` ### 六、属性定义 属性是Objective-C中用于封装数据成员的一种机制,提供了getter和setter方法: ```objective-c @property (attribute1, attribute2) propertyName; ``` ...

    RYLazyProperty:好玩的Runtime --- 一行代码解决懒加载

    }部分数据的容错self.nameLabel.text = [NSString stringWithFormat:@"动物名称:%@", self.animal.name];使用方法:[Animal ry_setLazyPropertyArr:@[@"name",@"foots",@"attribute",]];[ViewController ry_...

    oop object , for apple ios developer

    @property (nonatomic, strong) NSString *name; // 方法声明 - (void)sayHello; @end @implementation ClassName - (void)sayHello { NSLog(@"Hello, my name is %@", self.name); } @end ``` 2...

    iOS NSDecimalNumber解决数值计算不精确问题,一句话解决精确计算,精确比较

    - 可以通过`+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)string`方法,传入包含数字的字符串来创建。 - 或者使用`+ (NSDecimalNumber *)decimalNumberWithDecimal:(NSDecimal)decimal`,传入...

Global site tag (gtag.js) - Google Analytics