Ich habe ein viele Dateien, in denen einige von ihnen Zeitstempel Präfixe wie dieses:Ich brauche die Länge eines NSRegularExpression Ergebnisstring
1 20160308 1340 - All-of-me_key.pdf
2 2016 05 15 00 45 - nobody-knows-you-when-you-are-down-and-out.pdf
Andere dont Präfixe haben:
- praying-for-time_key.pdf
- purple rain.pdf
- rehab.pdf
Das Format der Präfixe variiert. Einige haben Leerzeichen als Trennzeichen und andere haben Striche, wie Sie oben sehen können.
Ich möchte einen Prozess automatisieren, um die Präfixe von betroffenen Dateinamen zu entfernen.
Für die Zwecke dieser Erklärung habe ich zwei regex Muster:
atRegexArray = [NSArray arrayWithObjects:
@"[0-9]{8} +[0-9]{4} - ",
@"[0-9]{4} +[0-9]{2} +[0-9]{2} +[0-9]{2} +[0-9]{2} - ", nil ] ;
Die erste Präfixe des ersten Typs erkennt und das zweite Muster detektiert Präfixe des zweiten Typs.
Beispiel für die erste Art Erkennung:
NSString * patternString = @"[0-9]{8} +[0-9]{4} - " ;
NSString *)theFileName = @"20160308 1340 - All-of-me_key.pdf" ;
NSString *string = theFileName;
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:patternString
options:NSRegularExpressionCaseInsensitive
error:&error];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:theFileName
options:0
range:NSMakeRange(0, [theFileName length])];
Erkennung funktioniert. Das Problem ist, ich brauche die Länge des Präfixes. In diesem Beispiel ist die Länge von "20.160.308 1340 -" 16 In example2 der Länge von "2016 05 15 00 45 -" 19
mir nicht sehen, wie diese Länge automatisch was geht.
Irgendeine Idee?
brauchst du ** [this] (https://regex101.com/r/jD7qR2/1) **? – rock321987