NSString に次の内容が含まれているかどうかを検出しますか? 質問する

NSString に次の内容が含まれているかどうかを検出しますか? 質問する

文字列に特定の単語が含まれているかどうかを検出するにはどうすればよいですか? たとえば、次のような文字列があります。

@"Here is my string."

たとえば「is」などの単語を文字列内で検出できるかどうかを知りたいです。

ベストアンサー1

私ならこうします:

NSString *someString = @"Here is my string";
NSRange isRange = [someString rangeOfString:@"is " options:NSCaseInsensitiveSearch];
if(isRange.location == 0) {
   //found it...
} else {
   NSRange isSpacedRange = [someString rangeOfString:@" is " options:NSCaseInsensitiveSearch];
   if(isSpacedRange.location != NSNotFound) {
      //found it...
   }
}

これをカテゴリとして簡単に追加できますNSString:

@interface NSString (JRStringAdditions) 

- (BOOL)containsString:(NSString *)string;
- (BOOL)containsString:(NSString *)string
               options:(NSStringCompareOptions)options;

@end

@implementation NSString (JRStringAdditions) 

- (BOOL)containsString:(NSString *)string
               options:(NSStringCompareOptions)options {
   NSRange rng = [self rangeOfString:string options:options];
   return rng.location != NSNotFound;
}

- (BOOL)containsString:(NSString *)string {
   return [self containsString:string options:0];
}

@end

おすすめ記事