一组电子邮件不区分大小写的搜索

aby*_*hew 0 iphone search objective-c ios

我有一个字符串数组,字符串在意义上的电子邮件ID ...所以我需要检查数组是否包含我给的电子邮件ID ....还需要检查不区分大小写....目前我' m使用以下代码

 if ([arrayAllEmail containsObject:email])
{
// do some stuff here...
}
Run Code Online (Sandbox Code Playgroud)

问题是假设arraAllEmail包含Abc@gmail.com ....但是我给(email = abc@gmail.com)abc@gmail.com用于检查目的,因为它将返回"否"作为结果...这就是为什么我需要不区分大小写的搜索机制....所以任何人都知道如何解决这个问题请给我答案..

das*_*ght 5

两种不同的方法可以解决这个问题:

  • 在将字符串放入数组之前,将字符串转换为相同的大小写(上面或下面,您决定).在搜索字符串上执行相同操作以确保结果不区分大小写,或者
  • 使用indexOfObjectPassingTest:方法,并在测试块内部进行不区分大小写的比较.

以下是如何实现第二种方法:

if ([arrayAllEmail indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return [email caseInsensitiveCompare:obj] == NSOrderedSame;
}] != NSNotFound) {
    // do some stuff here...
}
Run Code Online (Sandbox Code Playgroud)