Detecting if an NSString contains…?

后端 未结 7 2212
长情又很酷
长情又很酷 2021-01-30 03:37

How can I detect if a string contains a certain word? For example, I have a string below which reads:

@\"Here is my string.\"

I\'d like to know

7条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-30 04:09

    Here's how I would do it:

    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...
       }
    }
    

    You can easily add this as a category onto 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
    

提交回复
热议问题