iOS中字符串处理之二

这篇主要对字符串之间的比较做个简单总结

NSString 两个字符串的比较,用 a compare:b 来比,得出的结果分3种    
1. 26个字母比较  越靠后面越大  
    NSString *a = @"abcabc";  
    NSString *b = @"abcabd";  
    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");  
    }  
2.比较数字或者符号,或者字母 什么都行  
   NSString *a = @"20160809abc";  
    NSString *b = @"20160809abd";  
    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");  
    }  
3.不考虑大小写比较字符串   
[a caseInsensitiveCompare:b]  
- (void)viewDidLoad  
{  
    NSString *a = @"i love my girlfriend.";  
    NSString *b = @"I Love My Girlfriend.";  
    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       区分大小写,进行完全比较 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,904评论 25 709
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,446评论 0 4
  • 安宁近来几晚睡得都并不安宁,梦境很多,而内容却又近乎相同这让她感到有些恐惧,这并不符合她的性格 早晨起床时,她依旧...
    24e2f6668318阅读 4,239评论 0 0
  • 从前一直以为,面试律所时就应该显露出自己最厉害的一面,比别人出色、比别人强势、比别人aggressive!!那样就...
    榆果阅读 5,563评论 0 2
  • 光阴真像个跷跷板 你在这头忘我的玩耍 那头额间增了皱纹 腰间多了赘肉 一屋的凌乱 盛满惆怅 院子里的鸡鸭鹅 叫出了...
    江小昨阅读 1,014评论 2 4