NSCaseInsensitiveSearch在rangeOfCharacterFromSet中不起作用

时间:2014-03-14 13:18:02

标签: objective-c cocoa nsstring nscharacterset

似乎NSCaseInsensitiveSearch无效NSString:rangeOfCharacterFromSet。有人可以解释原因吗?这是正确的行为吗?

NSString *string = @"James Bond Always Rocks";    
NSRange range = [string rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:@"J"] options:NSCaseInsensitiveSearch];
NSLog(@"range->%@",NSStringFromRange(range)); //This prints range->{0, 1}

NSString *string = @"James Bond Always Rocks";    
NSRange range = [string rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:@"j"] options:NSCaseInsensitiveSearch];
NSLog(@"range->%@",NSStringFromRange(range)); //This prints range->{2147483647, 0}

1 个答案:

答案 0 :(得分:3)

从文档:“选项:指定搜索选项的掩码。可以通过将它们与C按位OR运算符组合来指定以下选项:NSAnchoredSearch,NSBackwardsSearch。”所以这似乎是一个正确的行为,不知道为什么只有这两个选项才能适用。