我知道替换字符串中项目的基本方法,但是现在我是如何做的。这是我的代码。我正在尝试在笔记中搜索某些单词,并在找到它们时将其换出。我有某些单词要替换为其他某些单词,并且需要将它们匹配,因此该句子仍然有意义。
func searchNote1()
{
let contentArr = note1.content.componentsSeparatedByString(" ")
let count = contentArr.count
var num = 0
while num < count
{
if conciseArr.contains(contentArr[num])
{
contentArr[num] = conciseArr []
}
num += 1
}
}
我正在尝试替换contentArr [num]中的字符串(无论何时找到某个单词),并将其替换为conciseArr中的字符串。我受困的地方是如何知道conciseArr中的单词替换其他单词的位置?
最佳答案
而不是.contains,而是查看indexOfObject。
如果对象存在于conciseArray中,则将获得索引(位置),否则将获得NSNotFound。
然后,如果(位置!= NSNotFound)...(使用已知索引进行交换)
而且,尽管我们正在讨论,在这里进行快速枚举也许是合适的?
(我是Obj-C的人;希望我的Swift语法正确!)
func searchNote1()
{
let contentArr = note1.content.componentsSeparatedByString(" ")
for (index, element) in contentArr.enumerate()
{
var location = conciseArr.indexOfObject(element)
if (location != NSNotFound)
{
contentArr[index] = conciseArr[location]
}
}
}