arrays - 如何用不同数组中的另一个项目替换数组中的一个项目?

标签 arrays swift string replace

我知道替换字符串中的项目的基本方法,但现在我是如何做到的。这是我的代码。我正在尝试在笔记中搜索某些单词,并在找到它们时将其替换掉。我用某些单词来替换其他某些单词,并且我需要将它们匹配起来,这样句子仍然有意义。

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] 中的字符串(只要找到某个单词),并将其替换为在accurateArr 中找到的字符串。我陷入困境的是我如何知道在accurateArr中的单词的位置来替换另一个单词?

最佳答案

查看indexOfObject,而不是.contains。 如果该对象存在于简洁数组中,您将获得索引(位置),否则您将获得 NSNotFound。 然后,if (location != 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]
        }
    }
}

关于arrays - 如何用不同数组中的另一个项目替换数组中的一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137622/

相关文章:

javascript - 使用数组 reduce typescript 将类型赋予累加器

xcode - 我如何在 Xcode 中订阅 TextField 的 TextChanged 事件

c++ - 将多个字符串传递给函数,从 C++ 代码到 C 代码会引发错误

javascript - 使用 JavaScript 按数字或字母字符将字符串拆分为 block

string - 如何使用 Groovy 检查字符串是否是字符串列表中任何字符串的一部分?

c++ - 对指向对象的指针数组进行排序

python - 为什么 NumPy 数组优于标准库数组?

c - 在 C 中以较高索引开始数组

ios - 快速限制 init() 中的输入选项

swift - 为什么我的 Core Audio 程序会出现爆裂声?