Trovare una sottostringa in un object NSString

Ho un object NSString e voglio creare una sottostringa da esso, individuando una parola.

Ad esempio, la mia stringa è: “Il cane ha mangiato il gatto”, voglio che il programma localizzi la parola “mangiato” e crei una sottostringa che sarà “il gatto”.

Qualcuno può darmi una mano o darmi un esempio?

Grazie,

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

Se vuoi tagliare gli spazi bianchi puoi farlo separatamente.

Che dire di questo modo? È quasi lo stesso. Ma forse il significato di NSRange è più facile da capire per i principianti, se è scritto in questo modo.

Alla fine, è la stessa soluzione di 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]; 

Prova questo..

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

Questo metodo restituisce true o false. Se la tua stringa contiene questo carattere, restituisce true, altrimenti restituisce false.

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

Puoi cercare una stringa e poi ottenere la stringa cercata in un’altra stringa …

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

È ansible utilizzare uno dei due metodi forniti nella class NSString, come substringToIndex: e substringFromIndex: Passa ad un NSRange come lunghezza e posizione e otterrai l’output desiderato.