Objective-C 字符串包含字符串方法

问题描述 投票:0回答:5

如何检查

NSString
是否包含另一个子字符串,此时它将返回
Boolean
值?

这就是我的想法:

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

但是,从我所做的研究来看,Obj-C 似乎没有内置的方法来实现这一点。这篇 Wikipedia 文章 提供了许多字符串方法及其差异,并且全部采用不同的语言,但我发现 Obj-C 不支持任何类似“包含”方法的内容。

有人知道像上面这样简单易用的方法吗(类似于C#和VB.NET的功能)?

“查找”方法有效吗?如果是的话,怎么办?

objective-c cocoa nsstring substring
5个回答
13
投票
if ([myString rangeOfString:@"string"].location != NSNotFound)
{
    // Stuff happens
}

4
投票
NSString *someString = @"Time for an egg hunt";

if ( [someString rangeOfString:@"egg" options:NSCaseInsensitiveSearch].location != NSNotFound ) {
  NSLog( @"Found it!" );
}

4
投票

如果你想成为

case insensitive

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

文档


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
}

1
投票
if([string rangeOfString:substring].length > 0)
    ...
© www.soinside.com 2019 - 2024. All rights reserved.