查找第一次出现不匹配的字符串

时间:2018-03-01 06:43:00

标签: ios objective-c

我有一个参考文字 - DD/MM/YYYY

当键入每个字符替换为输入文本时。像

23/1M/YYYY

我必须找到第一个不匹配的字符串的位置。在上述情况下, 输出应 4

我无法使用rangeOfString:,因为它可能会在DY中结束。

[@"23/1M/YYYY" rangeOfString:@"M" options: NSLiteralSearch];

或者我应该使用rangeOfString:的3行代码。有没有更好的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

我现在使用for-loop。随意分享更好的解决方案。

NSInteger foundIndex = -1;
for (NSInteger charIdx = 0; charIdx < self.txtDOB.text.length; charIdx++) {
    char character = [self.txtDOB.text characterAtIndex:charIdx];
    if (character == [@"DD/MM/YYYY" characterAtIndex:charIdx] && character != '/') {
         foundIndex = charIdx;
         break;
    }
}