Posición de una subcadena en NSString

¿Cómo puedo get la position / índice de una subcadena dentro de un NSString ?

Estoy encontrando la location de la siguiente manera.

 NSRange range = [string rangeOfString:searchKeyword]; NSLog (@"match found at index:%u", range.location); 

Esto devuelve el index:2147483647 cuando searchKeyword es una subcadena dentro de una string .

¿Cómo puedo get el valor del índice como 20 o 5 esa forma?

2147483647 es lo mismo que NSNotFound , lo que significa que no se encontró la cadena que buscó ( searchKeyword ).

 NSRange range = [string rangeOfString:searchKeyword]; if (range.location == NSNotFound) { NSLog(@"string was not found"); } else { NSLog(@"position %lu", (unsigned long)range.location); } 
 NSString *searchKeyword = @"your string"; NSRange rangeOfYourString = [string rangeOfString:searchKeyword]; if(rangeOfYourString.location == NSNotFound) { // error condition — the text searchKeyword wasn't in 'string' } else{ NSLog(@"range position %lu", rangeOfYourString.location); } NSString *subString = [string substringToIndex:rangeOfYourString.location]; 

Puede que esto te ayude …