Hi wszystko chcę wyodrębnić ostatnią część z łańcucha, który jest czterocyfrowy numer „03276” i: e http://www.abc.com/news/read/welcome-new-gig/03276
Pobierz ostatnią część ścieżki od NSString
w jaki sposób można to zrobić.
Hi wszystko chcę wyodrębnić ostatnią część z łańcucha, który jest czterocyfrowy numer „03276” i: e http://www.abc.com/news/read/welcome-new-gig/03276
Pobierz ostatnią część ścieżki od NSString
w jaki sposób można to zrobić.
Można również użyć
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
Spróbuj tego:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];
Korzystając objectAtIndex: 5 jesteś upewniając się, że działa tylko w tym konkretnym adresem, w przypadku zmiany adresu do czegoś podobnego http://www.abc.com/news/read/welcome-new-gig/ COŚ/03276, łamie to. – EmilioPelaez
Jeśli wiesz, ile znaków trzeba, można zrobić coś takiego:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [string substringFromIndex:[string length] - 5];
Jeśli po prostu wiedzieć, że jest to część po ostatnim ukośniku, możesz to zrobić:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject];
Jeśli znasz długość numeru, a to się nie zmieni, może być tak proste, jak :
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 będzie miał wartość 03276
Jeśli ostatnia część napisu jest zawsze taka sama długość (5 znaków) możesz użyć tej metody, aby wyodrębnić ostatnią część:
- (NSString *)substringFromIndex:(NSUInteger)anIndex
Użyj długości łańcucha, aby określić indeks początkowy.
coś takiego:
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);
(kod nie testowane)
Od * nix wykorzystuje te same separatory ścieżkę URL będzie to ważne również.
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
Wreszcie przydatna funkcja ciągu! – Burf2000
hi @Pierre, dlaczego użyłeś "lastPathComponent"? Co to znaczy? – Adela
@Adela użyłem go, ponieważ jest to metoda NSString, która robi dokładnie to, o co prosiła. I, oczywiście, łatwiej jest używać metody, którą zapewnia API, niż pisać własną logikę. i oznacza dokładnie to, co mówi nazwa. Zwraca ci ostatni składnik ścieżki. Zajrzyj do https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/lastPathComponent po kilka przykładów napisów i zwrotów wartość. – Pierre