您可以使用NSLinguisticTagger
! 我以前从未使用过,但我一起破解了这个:
NSString *str = @"i have a cat";
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes:[NSArray arrayWithObject:NSLinguisticTagSchemeLexicalClass] options:~NSLinguisticTaggerOmitWords];
[tagger setString:str];
[tagger enumerateTagsInRange:NSMakeRange(0, [str length])
scheme:NSLinguisticTagSchemeLexicalClass
options:~NSLinguisticTaggerOmitWords
usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSLog(@"found: %@ (%@)", [str substringWithRange:tokenRange], tag);
}];
[tagger release];
当你运行它时,它会记录:
found: i (Pronoun)
found: have (Verb)
found: a (Determiner)
found: cat (Noun)
但是请注意,这NSLinguisticTagger
仅适用于 iOS 5+(和 Mac OS X 10.7+)。