如何检查
NSString
是否包含另一个子字符串,此时它将返回 Boolean
值?
这就是我的想法:
if myString.contains("string") then
{
// Stuff Happens
}
但是,从我所做的研究来看,Obj-C 似乎没有内置的方法来实现这一点。这篇 Wikipedia 文章 提供了许多字符串方法及其差异,并且全部采用不同的语言,但我发现 Obj-C 不支持任何类似“包含”方法的内容。
有人知道像上面这样简单易用的方法吗(类似于C#和VB.NET的功能)?
“查找”方法有效吗?如果是的话,怎么办?
if ([myString rangeOfString:@"string"].location != NSNotFound)
{
// Stuff happens
}
NSString *someString = @"Time for an egg hunt";
if ( [someString rangeOfString:@"egg" options:NSCaseInsensitiveSearch].location != NSNotFound ) {
NSLog( @"Found it!" );
}
如果你想成为
case insensitive
。
NSRange range = [string rangeOfString:@"string" options:NSCaseInsensitiveSearch];
if (range.location != NSNotFound)
{
return range.location;
}
else
{
return nil;
}
创建一个NSString类别,并将其放入...
代码:
- (BOOL)contains:(NSString *)str
{
NSRange aRange = [self rangeOfString:str];
return (aRange.location!=NSNotFound);
}
用途:
NSString* testStr = @"This is my string";
if ([testStr contains:@"is"])
{
// do something
}
if([string rangeOfString:substring].length > 0)
...