博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
版本号带两个小数点的,如何比较大小?( NSStringCompareOptions )
阅读量:6411 次
发布时间:2019-06-23

本文共 1914 字,大约阅读时间需要 6 分钟。

例如 

1、

NSString *value = @"123AAAAAAA";

[value compare:@"123AAAAAAA"],返回 NSOrderedSame。

2、不区分大小写

 

NSString *returnstr = @"aaaa";

NSString *compare:MACstring = @"AaAa";

int result =[returnstr compare:MACstring options:NSCaseInsensitiveSearch| =NSNumericSearch];

返回结果:result == 0;

 

typedef NS_ENUM(NSInteger, NSComparisonResult)

 {NSOrderedAscending = -1L,  升序

  NSOrderedSame,         相等

  NSOrderedDescending     降序

};

options:(NSStringCompareOptions)

传入 NSStringCompareOptions 枚举的值

 

typedef NS_OPTIONS(NSUInteger, NSStringCompareOptions) {

   

   NSCaseInsensitiveSearch = 1,//不区分大小写比较

    NSLiteralSearch = 2,//区分大小写比较

    NSBackwardsSearch = 4,//从字符串末尾开始搜索

    NSAnchoredSearch = 8,//搜索限制范围的字符串

    NSNumbericSearch = 64//按照字符串里的数字为依据,算出顺序。例如 11aas2fgdfg < 11aas3fgdfg < 11aas8fgdfg

//以下定义高于 mac os 10.5 或者高于 iphone 2.0 可用

    ,

    NSDiacriticInsensitiveSearch = 128,//忽略 "-" 符号的比较

    NSWidthInsensitiveSearch = 256,//忽略字符串的长度,比较出结果

    NSForcedOrderingSearch = 512//忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending

//以下定义高于 iphone 3.2 可用

    ,

    NSRegularExpressionSearch = 1024//只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch

 

};

比较的方法:

[value compare:(NSString *)];

[value compare:(NSString *) options:(NSStringCompareOptions)];

[value compare:(NSString *) options:(NSStringCompareOptions) range:(NSRange)];

传入一个需要比较的字符串。

 

 

 

  NSString * str1 = @"1.1.20160422";

    NSString * str2 = @"1.1.20160421";
    
    /* NSOrderedAscending = -1  升序
     * NSOrderedSame = 0        相等
     * NSOrderedDescending      降序
     */
    
    NSLog(@"compare = %ld", [str1 compare:str2 options:NSCaseInsensitiveSearch]);
    
    NSInteger comparingResults = [str1 compare:str2 options:NSCaseInsensitiveSearch];
    
    if ( comparingResults == NSOrderedAscending ) {
        NSLog(@"升序");
    }else if (comparingResults == NSOrderedSame ){
        NSLog(@"相等");
    }else{
        NSLog(@"降序");
    }

 

 

 

 

转载于:https://www.cnblogs.com/Yishu/p/7520497.html

你可能感兴趣的文章
Javascript中eval函数的使用方法与示例
查看>>
JavaScript进阶1-1
查看>>
反射实现AOP动态代理模式(Spring AOP实现原理)
查看>>
Ant小总结
查看>>
Jetty 的工作原理以及与 Tomcat 的比较
查看>>
VMware-vSphere-5.1--------群集、HA、DRS、FT
查看>>
iOS导航栏的隐藏方式
查看>>
js复制
查看>>
JavaScript,只有你想不到
查看>>
Triangle
查看>>
web.xml 中元素加载顺序及其详解
查看>>
[原]浅谈几种服务器端模型——多线程并发式(线程池)
查看>>
tmux 常用快捷键
查看>>
linux下端口转发工具
查看>>
spring 中实现文件上传
查看>>
JAVA调用lp_solve配置详解
查看>>
BMP文件格式详解(BMP file format)
查看>>
25. [Microsoft][ODBC SQL Server Driver][DBNETLI...
查看>>
android开发过程中遇到错误的笔记
查看>>
JS实现继承的几种方式
查看>>