iPhone:在另一个情况下,发现一个字符串不起作用

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

我怎样才能检查一个字符串(NSString)是否包含另一个更小的字符串,但忽略大小写?

NSString *string = @"hello bla bla";

我希望有这样的事情:

NSLog(@"%d",[string containsSubstring:@"BLA"]);

无论如何有什么方法可以找到一个字符串是否包含另一个字符串忽略大小写? 但请不要将这两个字符串转换为UpperCase或LowerCase。


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

请参阅- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask在Apple doc中的- (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!");
}

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

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

NSString *string = @"hello BLA";
if ([string rangeOfString:@"bla" options:NSCaseInsensitiveSearch].location == NSNotFound) {
    NSLog(@"string does not contain bla");
} else {
    NSLog(@"string contains bla!");
}
链接地址: http://www.djcxy.com/p/73993.html

上一篇: iPhone: find one string in another with case insensetive

下一篇: iPhone : How to check whether a substring exists in a string?