如何将多个选项传递给NLTagger枚举过程



以下是代码:

#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参数中,我想传递NLTaggerOmitWhitespaceNL标记省略时间,这样它就删除了""最后

如何传递多个选项?

使用语法:

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);
}];

最新更新