1

「 /games/usa/2013-05-01/game1.html」から「2013-05-01/game1 」を抽出する方法を見つけようとしていますが、その方法がわかりません。私はすでにいくつかの正規表現を試しましたが、うまくいきませんでした。また、これが最善の方法であるかどうかもわかりません。これは私がこれまでに試したことです。

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"/[0-9]{4}-[0-9]{2}-[0-9]-{2}\//\.*$)" options:NSRegularExpressionCaseInsensitive error:NULL];
NSTextCheckingResult *newSearchString = [regex firstMatchInString:opening_time options:0 range:NSMakeRange(0, [opening_time length])];
NSString *substr = [opening_time substringWithRange:newSearchString.range];
NSLog(@"%@", substr);

どんな助けでも大歓迎です。

4

2 に答える 2

4

NSString1 つの方法は、のメソッドを使用することcomponentsSeparatedByString:です。これが例です

NSString *str = [@"/games/usa/2013-05-01/game1.html" stringByDeletingPathExtension];
NSArray *components = [str componentsSeparatedByString:@"/"];
NSString *result = [NSString stringWithFormat:@"%@/%@", [components objectAtIndex:3], [components objectAtIndex:4]];
NSLog(@"%@", result);

もちろん、これはフォーマットが変更されないという事実に依存しており、変更された場合、これはおそらく機能しません。

于 2013-07-20T05:26:15.353 に答える