首页 > 解决方案 > 快速替换索引处的字符串值

问题描述

我正在尝试添加一个删除从文本输入中获取的字符串的第一个字符并将其替换为另一个字符,但新字符串会替换每个具有的值,0而不仅仅是初始数字。下面是我尝试过的代码

let swiftyString = phoneNumberField.text?.replacingOccurrences(of: "0", with: "44")
        print("STRING \(swiftyString!)")

标签: iosswiftstring

解决方案


使用insert(_,at:)代替replacingOccurrences

if var phone = phoneNumberField.text?.dropFirst() {
    phone.insert("44", at: phone.startIndex)
}

要替换第 N 个字符:

extension String {
    func replace(_ with: String, at index: Int) -> String {
        var modifiedString = String()
        for (i, char) in self.enumerated() {
            modifiedString += String((i == index) ? with : String(char))
        }
        return modifiedString
    }
}

利用:

let string = "wqrtyry"
let dd = string.replace("R", at: 2)
print(dd)

推荐阅读