gpt4 book ai didi

objective-c - NSScanner 搜索词找到部分词

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:57 27 4
gpt4 key购买 nike

我正在使用 NSScanner 在大型 NSString 中查找单词数组,然后使用 html 标记突出显示它们。基本上我扫描到第一个词并在那个点插入一个标签。问题是 NSScanner 也在寻找单词的一部分。例如:

如果我扫描@"test",@"high",@"try",它会匹配很多单词的部分。

测试测试更高正在尝试

有什么好的方法可以将 NSScanner 设置为只匹配整个单词吗?谢谢。

最佳答案

如果您的目标是 iOS 4 或更高版本,请查看 -enumerateSubstringsInRange:options:usingBlock::

NSMutableString *string = [NSMutableString stringWithString:@"test this out testers! higher than high. try, trying, tryst."];
NSString *startTag = @"<b>";
NSString *endTag = @"</b>";
NSSet *wordsToMatch = [NSSet setWithObjects:@"test", @"high", @"try", nil];
[string enumerateSubstringsInRange:(NSRange){ .location = 0, .length = [string length] } options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
if ([wordsToMatch containsObject:substring]) {
[string insertString:startTag atIndex:substringRange.location];
[string insertString:endTag atIndex:substringRange.location + substringRange.length + startTag.length];
}
}];

关于objective-c - NSScanner 搜索词找到部分词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11380022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com