Bạn có thể sử dụng -[NSString componentsSeparatedByString:]
và -[NSArray componentsJoinedByString:]
tách một chuỗi thành các thành phần riêng lẻ (từ) và ngược lại:
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);
Output:
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"
Mã này giả định một số điều cần lưu ý. Đầu tiên, nó cắt bớt khoảng trống bạn đã đề cập ở đầu/cuối của câu, nhưng không bảo toàn nó. Vì vậy, nếu khoảng trắng đó thực sự quan trọng đối với bạn, bạn sẽ phải tính đến. Ngoài ra, nó không làm bất cứ điều gì đặc biệt nếu câu là trống hoặc chỉ chứa một từ (nó an toàn theo cách này, chỉ cần không đặc biệt phức tạp).
Nguồn
2013-01-08 01:34:26
Hãy xem câu trả lời của Barry tại đây ... http://stackoverflow.com/ câu hỏi/1752946/how-to-get-the-first-n-words-từ-a-nsstring-in-goal-c –