4

NSString に別の部分文字列が含まれているかどうかを確認するにはどうすればよいですか。その時点でブール値が返されます。

これは私が考えていることです:

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

しかし、私が行った調査によると、Obj-C にはこの機能がないようです。このウィキペディアの記事では、多数の文字列関数、それらの違い、およびすべてが異なる言語で説明されていますが、Contain Function に対する 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 に答える