in Swift4, the String is Collections. You will no longer use characters property on a string.
func swapCharacters(input:String,index1:Int,index2:Int)-> String { // logic to swap }
let input = "ABCDEFGH"
如果我用 (input,3,8) 调用函数,那么输出应该是
输出: ABCHEFGD
注意:在 Swift4 中,字符串是集合。
最佳答案
相当简单,因为 String
是一个集合:
func swapCharacters(input: String, index1: Int, index2: Int) -> String {
var characters = Array(input)
characters.swapAt(index1, index2)
return String(characters)
}
let input = "ABCDEFGH"
print(swapCharacters(input: input, index1: 3, index2: 7)) //ABCHEFGD
或者,提供一个直接的类似数组的操作:
extension String {
mutating func swapAt(_ index1: Int, _ index2: Int) {
var characters = Array(self)
characters.swapAt(index1, index2)
self = String(characters)
}
}
var input = "ABCDEFGH"
input.swapAt(3, 7)
print(input) //ABCHEFGD
关于ios - 如何在 String Swift4 中交换两个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47981928/