è possibile utilizzare -[NSString componentsSeparatedByString:]
e -[NSArray componentsJoinedByString:]
per dividere una stringa in singoli componenti (parole) e viceversa:
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);
uscita:
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"
Questo codice presuppone alcune informazioni di cui tenere conto. In primo luogo, taglia lo spazio bianco che hai menzionato all'inizio/fine della frase, ma non lo conserva. Quindi se quello spazio è davvero importante per te, dovrai renderne conto. Inoltre, non fa nulla di speciale se la frase è vuota o contiene solo una parola (è sicuro in questo modo, ma non particolarmente sofisticato).
fonte
2013-01-08 01:34:26
Date un'occhiata a risposta di Barry qui ... http://stackoverflow.com/ questions/1752946/how-to-get-the-first-n-words-from-a-nsstring-in-objective-c –