如何检查Objective-C中的字符串是否包含其他字符串?

如何检查字符串(NSString)是否包含另一个较小的字符串

我希望有这样的事情:

NSString*[email protected]“hello bla bla”;
NSLog(@“%d”,字符串包含字符串:@“hello”);

但我能找到的最接近的是:

if([string rangeOfString:@“hello”]==0){
NSLog(@“子字符串不存在”);
} 
否则{
NSLog(@“存在”);
}

无论如何,这是确定一个字符串是否包含另一个字符串的最佳方法吗

NSString*[email protected]“hello bla bla”;
if([string rangeOfString:@“bla”].location==NSNotFound){
NSLog(@“字符串不包含bla”);
}否则{
NSLog(@“字符串包含bla!”);
}

关键是要注意rangeOfString:返回一个NSRangestruct,文档中说,如果“草堆”不包含“针”,它将返回struct{NSNotFound,0}


如果您使用的是iOS 8或OS X Yosemite,您现在可以执行以下操作:(*注意:如果在iOS 7设备上调用此代码,您的应用程序将崩溃)。

NSString*[email protected]“你好”等等;
if([字符串包含字符串:@“bla”]){
NSLog(@“字符串包含bla!”);
}否则{
NSLog(@“字符串不包含bla”);
}

(这也是它在Swift中的工作方式)

👍

发表评论