iOS开发中,NSString的比较用法

本文详细介绍了NSString中的几种字符串比较方法,包括直接比较、指定选项比较及限定范围比较。文中列举了不同选项的具体含义,如不区分大小写的NSCaseInsensitiveSearch等,并解释了如何通过NSRange设定比较范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NSString *value = @”1234567890”;

比较的方法:
[value compare:(NSString *)];
[value compare:(NSString *) options:(NSStringCompareOptions)];
[value compare:(NSString *) options:(NSStringCompareOptions) range:(NSRange)];

传入的参数:
compare:(NSString *)
传入一个需要比较的字符串。
例如 [value compare:@”1234567890”],返回 NSOrderedSame。

options:(NSStringCompareOptions)
传入 NSStringCompareOptions 枚举的值
enum{
NSCaseInsensitiveSearch = 1,//不区分大小写比较
NSLiteralSearch = 2,//区分大小写比较
NSBackwardsSearch = 4,//从字符串末尾开始搜索
NSAnchoredSearch = 8,//搜索限制范围的字符串
NSNumbericSearch = 64//按照字符串里的数字为依据,算出顺序。例如 Foo2.txt < Foo7.txt < Foo25.txt
//以下定义高于 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
}

range:(NSRange)
比较字符串的范围

结构变量:
location: 需要比较的字串起始位置(以0为起始)
length: 需要比较的字串长度

返回值:
typedef enum _NSComparisonResult {
NSOrderedAscending = -1, // < 升序
NSOrderedSame, // = 等于
NSOrderedDescending // > 降序
} NSComparisonResult;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值