iOS 判断数组包含某个字符 不区分大小写

平常判断数组中是否包含某个字符我们通常使用containsObject,但这种方式是严格区分大小写的。
当我们需要不区分大小写来判断包含时可以使用indexOfObjectPassingTest配合caseInsensitiveCompare来实现

当我们判断单个字符并不区分大小写时,通常使用caseInsensitiveCompare

[str caseInsensitiveCompare:@"abc"] == NSOrderedSame

所以当我们需要判断数组是否包含时,可以这样写

//返回数组中是否包含字符 不区分大小写
- (BOOL)caseInsensitiveCompareWithArray:(NSArray *)array string:(NSString *)string{
    return ([array indexOfObjectPassingTest:^(id obj, NSUInteger idx, BOOL *stop){
        return (BOOL)([obj caseInsensitiveCompare:string] == NSOrderedSame);
       }] != NSNotFound);
}

使用:

if ([self caseInsensitiveCompareWithArray:arr string:str]){
        //arr中包含str,不区分大小写
 }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容