Find one string in another with case insensitive in Objective-C

后端 未结 5 2126
慢半拍i
慢半拍i 2021-02-11 17:24

My question is similar to How do I check if a string contains another string in Objective-C?

How can I check if a string (NSString) contains another smaller string but w

5条回答
  •  渐次进展
    2021-02-11 18:00

    You can use -(NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask; to get a range for a substring, the mask parameter is used to specify case insensitive match.

    Example :

    NSRange r = [str rangeOfString:@"BLA"
                           options:NSCaseInsensitiveSearch];
    

    As stated in the documentation, the method returns a range like {NSNotFound, 0} when the substring isn't found.

    BOOL b = r.location == NSNotFound;
    

    Important this method raises an exception if the string is nil.

提交回复
热议问题