String character replacement in Swift

var str = "1-3-2"
//str[2] = "3" //<-Error
//str.characters[2] = "3" //<-Error

var arr = Array(str.characters)
arr[2] = "2"
arr[4] = "3"
str = String(arr)
//str is "1-2-3"