天天看點

NSString的比較

NSString *value = @”blog.iosxcode4.com”;

比較的方法:

[value compare:(NSString *)];

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

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

傳入的參數:

compare:(NSString *)

傳入一個需要比較的字元串。

例如 [value compare:@"blog.iosxcode4.com"],傳回 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;