我正在迭代大量的输入行,并且对于某些标准,我将一些行拉出来构建一个结果以显示给用户。我希望匹配条件的最后一行是不同的颜色。目前我正在这样做
endOfString = result.string.characters.count
lengthOfLastString = tempResult.string.characters.count
然后当我准备好显示我构建的字符串时,我做
let changeRange = NSRange(location: endOfString+1, length: lengthOfLastString)
result.addAttributes(singleAttribute, range: changeRange)
但这不起作用,因为我最终超越了String的有效索引范围。我一般都明白Swift字符串更复杂,所以做这样的事情的方法是什么?
按要求提供样本数据:
但是,对待陌生人的放逐行为
富。他们将他们的头盔放在他们的头盔上。他们的Speares,都回归 支持他们的Chaires againe:用vs撤回,然后让 号角响起,
当我们回归这些Dukes时,我们的关键词是什么。
我开始关注包含单词“King”的行,我想要捕获所有行,包括带有“Keyword”的行。 “关键字”的最后一行是我想要制作不同颜色的内容。
答案 0 :(得分:1)
在构建输出字符串时,在每行追加之前记录endIndex。然后,在添加最后一行后,savedIndex..<endIndex
就是您要查找的范围。