我正试图找到如何从“ /games/usa/2013-05-01/game1.html 2013-05-01 / game1 ” >“,但我不知道怎么做。我已经尝试了一些Regex,但它没有用。我也不知道这是不是最好的方法。这是我到目前为止所尝试过的。
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);
任何帮助都将不胜感激。
答案 0 :(得分:4)
一种方法是使用NSString
' 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);
当然,这将取决于格式永远不会改变的事实,如果它确实发生变化,这很可能不会起作用。
答案 1 :(得分:2)
试试这个:
@"[0-9]{4}-[0-9]{2}-[0-9]{2}/[^.]+"
或者这个:
@"[0-9]{4}-[0-9]{2}-[0-9]{2}/.+?(?=\\.html)"