Encontrar una subcadena en un objeto NSString

Tengo un objeto NSString y quiero hacer una subcadena de él, localizando una palabra.

Por ejemplo, mi hilo es: “El perro se comió al gato”, quiero que el progtwig ubique la palabra “comió” y haga una subcadena que será “el gato”.

¿Alguien puede ayudarme o darme un ejemplo?

Gracias,

Sagiftw

NSRange range = [string rangeOfString:@"ate"]; NSString *substring = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
 NSString *str = @"The dog ate the cat"; NSString *search = @"ate"; NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])]; 

Si desea recortar el espacio en blanco, puede hacerlo por separado.

¿Qué hay de esta manera? Es casi lo mismo. Pero tal vez el significado de NSRange sea más fácil de entender para los principiantes, si está escrito de esta manera.

Por fin, es la misma solución de jtbandes

  NSString *szHaystack= @"The dog ate the cat"; NSString *szNeedle= @"ate"; NSRange range = [szHaystack rangeOfString:szNeedle]; NSInteger idx = range.location + range.length; NSString *szResult = [szHaystack substringFromIndex:idx]; 

Prueba este …

 BOOL isValid=[yourString containsString:@"X"]; 

Este método devuelve verdadero o falso. Si su cadena contiene este carácter, devuelve verdadero, y de lo contrario devuelve falso.

 NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location]; 

Puede buscar una cadena y luego buscar la cadena buscada en otra cadena …

 -(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText { return [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE; } 

Puede usar cualquiera de los dos métodos provistos en la clase NSString, como substringToIndex: y substringFromIndex: Pase un NSRange como su longitud y ubicación, y obtendrá el resultado deseado.