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

问题描述 投票:0回答:1

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

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

23/1M/YYYY

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

我不能使用rangeOfString:,因为它可能最终在DY

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

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

ios objective-c
1个回答
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;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.