我正在尝试用另一个角色替换一个角色。由于某些原因,stringByReplacingCharactersInRange不起作用。关于如何解决这个问题,我还没有找到一个简单的解释。

var binaryColor: String = "000"
(binaryColor as NSString).stringByReplacingCharactersInRange(NSMakeRange(0, 1), withString: "1")
println("This is binaryColor0: \(binaryColor)")

结果是000而不是100。
谢谢你的帮助!

最佳答案

不需要将其强制转换为NSString即可使用stringByReplacingCharactersInRange只需更改创建字符串范围的方式,如下所示:
更新:Xcode 7.2•Swift 2.1.1

let binaryColor = "000"
let resultString = binaryColor.stringByReplacingCharactersInRange(
    Range(start: binaryColor.startIndex, end: binaryColor.startIndex.advancedBy(1)),
    withString: "1")

或者只是
let resultString2 = binaryColor.stringByReplacingCharactersInRange(
    binaryColor.startIndex..<binaryColor.startIndex.advancedBy(1),
    withString: "1")

10-06 00:03