Salut à tous 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
dernière partie du chemin de NSString
Comment puis-je faire cela.
Salut à tous 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
dernière partie du chemin de NSString
Comment puis-je faire cela.
Vous pouvez également utiliser
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
Essayez ceci:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];
En utilisant objectAtIndex: 5 vous en vous assurant qu'il ne fonctionne que dans cette adresse spécifique, si les changements d'adresse à quelque chose comme http://www.abc.com/news/read/welcome-new-gig/ Quelque chose/03276, il le brise. – EmilioPelaez
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 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];
Si vous connaissez la longueur du nombre, et il ne va pas changer, il peut être aussi facile que :
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 aura la valeur 03276
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épart.
Quelque chose comme ceci:
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é)
Depuis * nix utilise les mêmes séparateurs de chemin comme URL ce sera valable aussi bien.
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
Enfin une fonction de chaîne utile! – Burf2000
hi @Pierre, pourquoi avez-vous utilisé 'lastPathComponent'? Ce que cela veut dire? – Adela
@Adela je l'ai utilisé, parce que c'est une méthode de NSString qui fait exactement ce qui a été demandé. Et, bien sûr, il est plus facile d'utiliser la méthode fournie par l'API que d'écrire sa propre logique. et signifie exactement ce que le nom dit. Il vous renvoie le dernier composant d'un chemin. Jetez un oeil à https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/lastPathComponent pour quelques exemples de chaînes et le retour valeur. – Pierre