Hola a todos quiero extraer la última parte de la cadena que es un número de cuatro dígitos '03276' i: e http://www.abc.com/news/read/welcome-new-gig/03276
Recuperación de la última parte de la ruta de NSString
cómo puedo hacer eso.
Hola a todos quiero extraer la última parte de la cadena que es un número de cuatro dígitos '03276' i: e http://www.abc.com/news/read/welcome-new-gig/03276
Recuperación de la última parte de la ruta de NSString
cómo puedo hacer eso.
También puede utilizar
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
Prueba esto:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];
Mediante el uso de objectAtIndex: 5 se asegura de que sólo funciona en esa dirección específica, si la dirección cambia a algo así como http://www.abc.com/news/read/welcome-new-gig/ ALGO/03276, lo rompe. – EmilioPelaez
Si conoce el número de caracteres que necesita, puede hacer algo como esto:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [string substringFromIndex:[string length] - 5];
Si sólo sabe que es la parte después de la última barra, usted puede hacer esto:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject];
Si conoce la longitud del número, y no va a cambiar, puede ser tan fácil como :
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 tendrá el valor 03276
Si la última parte de la cadena es siempre la misma longitud (5 caracteres) puede usar este método para extraer la última parte:
- (NSString *)substringFromIndex:(NSUInteger)anIndex
Utilice la longitud de la cadena para determinar el índice de inicio.
Algo como esto:
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);
(Código no probado)
Desde * nix utiliza los mismos separadores de ruta como la URL de esta será válida también.
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
¡Finalmente una útil función de cadena! – Burf2000
Hola @Pierre, ¿por qué usaste 'lastPathComponent'? ¿Qué significa? – Adela
@Adela lo usé, porque es un método de NSString que hace exactamente lo que se pidió. Y, por supuesto, es más fácil usar el método que proporciona la API que escribir tu propia lógica. y significa exactamente lo que dice su nombre. Te devuelve el último componente de una ruta. Eche un vistazo a https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/lastPathComponent para ver ejemplos de cadenas y el retorno valor. – Pierre