iPhone Objective-C:如果string包含……?

iPhone Objective-C: If string contains…?

本问题已经有最佳答案,请猛点这里访问。

如何判断字符串是否包含某些内容?类似:

1
2
3
if([someTextField.text containsString:@"hello"]) {

}


你可以使用:

1
2
3
if ( result && [result rangeOfString:@"hello"].location != NSNotFound ) {
    // Substring found...
}

你必须使用- (NSRange)rangeOfString:(NSString *)aString

1
2
3
4
NSRange range = [myStr rangeOfString:@"hello"];
if (range.location != NSNotFound) {
  NSLog (@"Substring found at: %d", range.location);
}

在此查看更多信息:nsstring rangeofstring


如果您的代码的目的是检查一个字符串是否包含另一个字符串,那么您可以创建一个类别来明确这个目的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@interface NSString (additions)

- (BOOL)containsString:(NSString *)subString;

@end

@implementation NSString (additions)

- (BOOL)containsString:(NSString *)subString {
    BOOL containsString = NO;

    NSRange range = [self rangeOfString:subString];
    if (range.location != NSNotFound) {
        containsString = YES;
    }

    return containsString;
}

@end

我还没有编译这段代码,所以也许你应该稍微修改一下。

昆廷