4

如何检查 NSString 是否包含另一个子字符串,此时它将返回一个布尔值。

这就是我的想法:

If myString.contains("string") then
{
   //Stuff Happens
}

但是,从我所做的研究来看,Obj-C 似乎没有这方面的功能。这篇Wikipedia 文章提供了许多字符串函数、它们的区别以及所有不同语言的内容,但我没有看到任何包含函数的 Obj-C 支持。

有谁知道上面曾经有一个简单易用的函数(类似于 C# 和 VB.NET 函数)?

“查找”功能会起作用吗?如果是这样,怎么做?

如果 Obj-C 不支持此功能,是否有我可以使用的解决方法?

非常感谢任何帮助。

4

5 回答 5

12
if ([myString rangeOfString:@"string"].location != NSNotFound)
{
    // Stuff happens
}
于 2012-04-10T23:15:15.093 回答
4
NSString *someString = @"Time for an egg hunt";

if ( [someString rangeOfString:@"egg" options:NSCaseInsensitiveSearch].location != NSNotFound ) {
  NSLog( @"Found it!" );
}
于 2012-04-10T23:18:04.987 回答
4

如果你想成为case insensitive.

NSRange range = [string rangeOfString:@"string" options:NSCaseInsensitiveSearch];
if (range.location != NSNotFound)
{
    return range.location;
}
else
{
    return nil;
}

文档

于 2012-04-10T23:24:06.950 回答
2

创建一个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
}
于 2012-04-10T23:18:43.407 回答
1
if([string rangeOfString:substring].length > 0)
    ...
于 2012-04-10T23:13:15.047 回答