以下是代码:
#import <NaturalLanguage/NaturalLanguage.h>
...
NSString *taggerString = @"I was outside alone.";
NLTagger *tagger = [[NLTagger alloc] initWithTagSchemes:@[NLTagSchemeLemma]];
tagger.string = taggerString;
[tagger enumerateTagsInRange:NSMakeRange(0, taggerString.length)
unit:NLTokenUnitWord
scheme:NLTagSchemeLemma
options:NLTaggerOmitWhitespace
usingBlock:^(NLTag _Nullable tag,
NSRange tokenRange,
BOOL * _Nonnull stop){
NSString *word = [taggerString substringWithRange:tokenRange];
NSLog(@"Word: %@ Tag: %@", word, tag);
}];
在options参数中,我想传递NLTaggerOmitWhitespace和NL标记省略时间,这样它就删除了""最后
如何传递多个选项?
使用语法:
options:(Option 1 | Option 2 | ...)
对于上面的用例:
[tagger enumerateTagsInRange:NSMakeRange(0, taggerString.length)
unit:NLTokenUnitWord
scheme:NLTagSchemeLemma
options:(NLTaggerOmitWhitespace | NLTaggerOmitPanctuation)
usingBlock:^(NLTag _Nullable tag,
NSRange tokenRange,
BOOL * _Nonnull stop){
NSString *word = [taggerString substringWithRange:tokenRange];
NSLog(@"Word: %@ Tag: %@", word, tag);
}];