首页 > 解决方案 > 替换字符串中的出现

问题描述

我想替换字符串中的第一个匹配项和第二个匹配项。

我还没有尝试过任何东西

前任:

var mString = "my car is black, my phone is black"

我想将第一个黑色替换为蓝色,将第二个黑色替换为红色

标签: swift

解决方案


使用新字符串创建一个数组。使用 查找字符串中第一个匹配子字符串“black”的范围range(of:)。并使用方法替换为范围内的新字符串replaceSubrange(_:with:)。然后继续循环直到数组的最后一个元素。

var mString = "my car is black, my phone is black"
["blue","red"].forEach {
    if let range = mString.range(of: "black") {
        mString.replaceSubrange(range, with: $0)
    }
}
print(mString)

我的车是蓝色的,我的手机是红色的

检查Swift 字符串备忘单


推荐阅读