web-dev-qa-db-fra.com

Obtenez le dernier chemin du chemin de Nstring

Salut tout ce que je veux extraire la dernière partie de la chaîne qui est un numéro à quatre chiffres '03276' I: E http://www.abc.com/news/read/welcome-new-gig/03276

comment puis je faire ça.

Vous pouvez aussi utiliser

NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
75
Pierre

Si vous savez combien de caractères dont vous avez besoin, vous pouvez faire quelque chose comme ceci:

NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [string substringFromIndex:[string length] - 5];

Si vous savez simplement que c'est la partie après la dernière barre oblique, vous pouvez le faire:

NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject];
28
Morten Fast

Étant donné que * Nix utilise les mêmes séparateurs de chemins que ceux de l'URL pourraient également être valables.

[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
5
Joe

Si vous connaissez la longueur du nombre et que cela ne va pas changer, cela peut être aussi simple que:

NSString *result = [string substringFromIndex:[string length] - 4];
3
EmilioPelaez

Si la dernière partie de la chaîne est toujours la même longueur (5 caractères), vous pouvez utiliser cette méthode pour extraire la dernière partie:

- (NSString *)substringFromIndex:(NSUInteger)anIndex

Utilisez la longueur de la chaîne pour déterminer l'index de démarrage.

Quelque chose comme ça:

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);

(Code non testé)

NSString *str = @"http://www.abc.com/news/read/welcome-new-gig/03276";  
NSArray *arr = [str componentSeparatedBy:@"gig/"];  
NSString *strSubStringDigNum = [arr objectAtIndex:1];  

strSubstringdignum aura la valeur 03276

1
Nitish

Essaye ça:

NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";

NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];
0
JDx