无法用索引“ String.Index”下标“ String”类型的值

时间:2019-03-27 02:11:09

标签: swift

不能为索引为“ String.Index”的类型为“ String”的下标

if let x = formulars.firstIndex(of: "("){
                formulars[x] = ""
            }

不能为索引为“ String.Index”的类型为“ String”的下标

2 个答案:

答案 0 :(得分:1)

StringCollection而不是MutableCollection,这意味着下标是只读的。下标不能用于 >删除集合元素。

要删除找到位置的字符,请使用

if let idx = formulars.firstIndex(of: "(") {
    formulars.remove(at: idx)
}

并使用其他字符串替换“(”的第一个匹配项

if let range = formulars.range(of: "(") {
    formulars.replaceSubrange(range, with: "")
}

答案 1 :(得分:0)

只需使用replacingOccurrences

formulars = formulars.replacingOccurrences(of: "(", with: "")