NSString 比較字符串,我介紹一些常用的方法:
NSString *value = @"1234567890";
比較的方法:
[value compare:(NSString *)];
[value compare:(NSString *)options:(NSStringCompareOptions)];
[value compare:(NSString *)options:(NSStringCompareOptions)range:(NSRange)];
傳入的參數(shù):
compare:(NSString *)
傳入一個(gè)需要比較的字符串镰矿。
例如 [value compare:@"1234567890"]宏蛉,返回 NSOrderedSame似谁。
options:(NSStringCompareOptions)
傳入 NSStringCompareOptions 枚舉的值
typedef NS_OPTIONS(NSUInteger, NSStringCompareOptions) {
NSCaseInsensitiveSearch = 1,//不區(qū)分大小寫比較
NSLiteralSearch = 2,//區(qū)分大小寫比較
NSBackwardsSearch = 4,//從字符串末尾開始搜索
NSAnchoredSearch = 8,//搜索限制范圍的字符串
NSNumbericSearch = 64//按照字符串里的數(shù)字為依據(jù)亏吝,逐個(gè)比較算出順序抗俄。例如 Foo2.txt < Foo7.txt
//以下定義高于 mac os 10.5 或者高于 iphone2.0 可用
,
NSDiacriticInsensitiveSearch = 128,//忽略 "-" 符號(hào)的比較
NSWidthInsensitiveSearch = 256,//忽略字符串的長度,比較出結(jié)果
NSForcedOrderingSearch = 512,//忽略不區(qū)分大小寫比較的選項(xiàng)奢讨,并強(qiáng)制返回 NSOrderedAscending 或者NSOrderedDescending
//以下定義高于 iphone 3.2可用
NSRegularSearch
= 1024//只能應(yīng)用于rangeOfString:...,
stringByReplacingOccurrencesOfString:...和replaceOccurrencesOfString:...
方法稚叹。使用通用兼容的比較方法,如果設(shè)置此項(xiàng)拿诸,可以去掉NSCaseInsensitiveSearch 和 NSAnchoredSearch
};
range:(NSRange)
比較字符串的范圍
結(jié)構(gòu)變量:
location: 需要比較的字串起始位置(以0為起始)
length: 需要比較的字串長度
返回值:
typedefenum_NSComparisonResult{
NSOrderedAscending=-1,//< 升序
NSOrderedSame,//= 等于
NSOrderedDescending//>降序
} NSComparisonResult;