iPhone:在另一个字符串中找到一个字符串insensetive

Jim*_*Jim 28 iphone substring nsstring

我的问题类似于如何检查字符串是否包含Objective-C中的另一个字符串?

如何检查字符串(NSString)是否包含另一个较小的字符串但忽略大小写?

NSString *string = @"hello bla bla";
Run Code Online (Sandbox Code Playgroud)

我希望有类似的东西:

NSLog(@"%d",[string containsSubstring:@"BLA"]);
Run Code Online (Sandbox Code Playgroud)

无论如何有没有办法找到一个字符串是否包含另一个带有忽略大小写的字符串?但请不要将两个字符串转换为UpperCase或LowerCase.

Ila*_*ian 79

与链接中提供的答案类似,但使用方法options.

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask苹果文档

NSString *string = @"hello bla bla";

if ([string rangeOfString:@"BLA" options:NSCaseInsensitiveSearch].location == NSNotFound)
{
    NSLog(@"string does not contain bla");
} 
else 
{
    NSLog(@"string contains bla!");
}
Run Code Online (Sandbox Code Playgroud)


aja*_*asa 9

从iOS 8,您可以将containsString:localizedCaseInsensitiveContainsString 方法添加到NSString.

if ([string localizedCaseInsensitiveContainsString:@"BlA"]) {
    NSLog(@"string contains Case Insensitive bla!");
} else {
    NSLog(@"string does not contain bla");
}
Run Code Online (Sandbox Code Playgroud)