Привет всем, я хочу извлечь последнюю часть из строки, которая является четырехзначным числом '03276' i: e http://www.abc.com/news/read/welcome-new-gig/03276
http://www.abc.com/news/read/welcome-new-gig/03276
как я могу это сделать.
Вы также можете использовать
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
Если вы знаете, сколько символов вам нужно, вы можете сделать что-то вроде этого:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276"; NSString *subString = [string substringFromIndex:[string length] - 5];
Если вы просто знаете, что это часть после последней косой черты, вы можете сделать это:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276"; NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject];
Поскольку * nix использует те же разделители пути, что и URL, это также будет допустимо.
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
Если последняя часть строки всегда одинаковой длины (5 символов), вы можете использовать этот метод для извлечения последней части:
- (NSString *)substringFromIndex:(NSUInteger)anIndex
Используйте длину строки для определения начального индекса.
Примерно так:
NSString *inputStr = @"http://www.abc.com/news/read/welcome-new-gig/03276"; NSString *newStr = [inputStr substringFromIndex:[inputStr length]-5]; NSLog(@"These are the last five characters of the string: %@", newStr);
(код не проверен)
Если вы знаете длину числа, и оно не изменится, это может быть так просто:
NSString *result = [string substringFromIndex:[string length] - 4];
NSString *str = @"http://www.abc.com/news/read/welcome-new-gig/03276"; NSArray *arr = [str componentSeparatedBy:@"gig/"]; NSString *strSubStringDigNum = [arr objectAtIndex:1];
strSubStringDigNum будет иметь значение 03276
Попробуйте это:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276"; NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];