(对不起我的英文)
在我的应用程序中,我需要将字符串中的某个字符设置为正常使用的字符串:
var string = "This is a string"
var i = 3
string[i] = "a"
但是在Swift中,我无法使用' []'选择一个角色我怎么能在swift中做到?
答案 0 :(得分:2)
因为答案有点长,我在String上写了一个扩展来完成这项工作
extension String {
mutating func replaceCharacterAtIndex(index: Int, withString str: String) {
replaceRange(Range(start: advance(self.startIndex, index), end: advance(self.startIndex, index+1)), with: str)
}
}
var ab = "abcdefg"
ab.replaceCharacterAtIndex(3, withString: "o")
// ab now equals „abcodefg"
请注意,替换字符串中的字符不再是O(1)而是Tatget O(String.length)并且不能因为字符在Swift中不再具有固定长度(谢谢,Swift)