我有一个参考文本 - DD/MM/YYYY
当键入每个字符替换为输入文本时。喜欢
23/1M/YYYY
我必须找到第一个不匹配的字符串的位置。在上述情况下,输出应为4
我不能使用rangeOfString:
,因为它可能最终在D
或Y
。
[@"23/1M/YYYY" rangeOfString:@"M" options: NSLiteralSearch];
或者我应该使用rangeOfString:
的3行代码。有没有更好的方法来实现这一目标。
我现在用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;
}
}