NSString
が特定の形式であるかどうかを確認しようとしています。dd:dd:dd . を考えていNSRegularExpression
ました。何かのようなもの
/^(\d)\d:\d\d:\d\d)$/ ?
次のようなことを試しましたか:
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^\d{2}:\d{2}:\d{2}$"
options:0
error:&error];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
options:0
range:NSMakeRange(0, [string length])];
(今はできないのでテストしていませんが、動作するはずです)
RegexKitLiteを使用することをお勧めします
これと、dd:dd:dd で 'd' が実際に 0 から 9 の数字を表すと仮定すると、Grijesh からの追加のコメントがあれば、必要なものを実装するのはかなり簡単なはずです。
RegexKitLite ページからコピーした例を次に示します。
// finds phone number in format nnn-nnn-nnnn
NSString *regEx = @"{3}-[0-9]{3}-[0-9]{4}";
NSString *match = [textView.text stringByMatching:regEx];
if ([match isEqual:@""] == NO) {
NSLog(@"Phone number is %@", match);
} else {
NSLog(@"Not found.");
}
アップデート:
NSString *idRegex = @"[0-9][0-9]:[0-9][0-9]:[0-9][0-9]";
NSPredicate *idTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", idRegex];
for (NSString * str in newArrAfterPars) {
if ([idTest evaluateWithObject:str]) {
}
}