如何检查字符串 ( NSString) 是否包含另一个较小的字符串?
NSString
我希望有类似的东西:
NSString *string = @"hello bla bla"; NSLog(@"%d",[string containsSubstring:@"hello"]);
但我能找到的最接近的是:
if ([string rangeOfString:@"hello"] == 0) { NSLog(@"sub string doesnt exist"); } else { NSLog(@"exists"); }
无论如何,这是查找字符串是否包含另一个字符串的最佳方法吗?
NSString *string = @"hello bla bla"; if ([string rangeOfString:@"bla"].location == NSNotFound) { NSLog(@"string does not contain bla"); } else { NSLog(@"string contains bla!"); }
关键是要注意rangeOfString:返回一个NSRange结构,并且文档说{NSNotFound, 0}如果“干草堆”不包含“针” ,它会返回该结构。
rangeOfString:
NSRange
{NSNotFound, 0}
如果您使用的是 iOS 8 或 OS X Yosemite,您现在可以执行以下操作: (*注意:如果在 iOS7 设备上调用此代码,这将使您的应用程序崩溃)。
NSString *string = @"hello bla blah"; if ([string containsString:@"bla"]) { NSLog(@"string contains bla!"); } else { NSLog(@"string does not contain bla"); }
(这也是它在 Swift 中的工作方式)
馃愤