Sie -[NSString componentsSeparatedByString:]
und -[NSArray componentsJoinedByString:]
können Sie eine Zeichenfolge in einzelne Komponenten (Wörter) und wieder zurück zu spalten:
NSString *sentence = @"This is a sentence";
NSLog(@"Sentence: \"%@\"", sentence);
NSCharacterSet *whitespace = [NSCharacterSet whitespaceCharacterSet];
sentence = [sentence stringByTrimmingCharactersInSet:whitespace];
NSMutableArray *words = [[sentence componentsSeparatedByCharactersInSet:whitespace] mutableCopy];
NSString *lastWord = [words lastObject];
[words removeLastObject];
NSString *firstPart = [words componentsJoinedByString:@" "];
NSLog(@"Last word: \"%@\" First part: \"%@\"", lastWord, firstPart);
Ausgang:
2013-01-07 18:36:50.566 LastWord[42999:707] Sentence: "This is a sentence"
2013-01-07 18:36:50.569 LastWord[42999:707] Last word: "sentence" First part: "This is a"
Dieser Code geht davon aus, ein paar Dinge bewusst zu sein. Zuerst werden die Leerzeichen, die Sie am Anfang/Ende des Satzes angegeben haben, abgeschnitten, aber nicht beibehalten. Wenn Ihnen also dieser Leerraum wirklich wichtig ist, müssen Sie Rechenschaft ablegen. Es macht auch nichts besonderes, wenn der Satz leer ist oder nur ein Wort enthält (so ist es sicher, nur nicht besonders ausgefeilt).
Werfen Sie einen Blick auf Barrys Antwort hier ... http://stackoverflow.com/ Fragen/1752946/how-to-get-the-first-n-words-from-a-Nsstring-in-Ziel-c –