首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在检测NSString是否包含...?

正在检测NSString是否包含...?
EN

Stack Overflow用户
提问于 2010-07-21 03:16:30
回答 7查看 78.4K关注 0票数 124

如何检测字符串是否包含某个单词?例如,我在下面有一个字符串,内容是:

代码语言:javascript
复制
@"Here is my string."

我想知道我是否能在字符串中检测到一个单词,例如"is“。

EN

回答 7

Stack Overflow用户

发布于 2010-07-21 03:19:37

下面是我会怎么做:

代码语言:javascript
复制
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

代码语言:javascript
复制
@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
票数 192
EN

Stack Overflow用户

发布于 2013-03-01 13:53:39

使用以下代码扫描句子中的单词。

代码语言:javascript
复制
NSString *sentence = @"The quick brown fox";
NSString *word = @"quack";
if ([sentence rangeOfString:word].location != NSNotFound) {
    NSLog(@"Yes it does contain that word");
}
票数 89
EN

Stack Overflow用户

发布于 2014-10-29 13:19:41

在iOS8中,您现在可以使用:

代码语言:javascript
复制
BOOL containsString = [@"Here is my string." containsString:@"is"];

这里有一个关于如何将其“改造”为iOS7的有趣帖子:http://petersteinberger.com/blog/2014/retrofitting-containsstring-on-ios-7/

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3293499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档