stringByReplacingCharactersInRange不起作用?

时间:2015-06-05 16:42:14

标签: ios string swift replace

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

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

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

2 个答案:

答案 0 :(得分:2)

您不需要将其强制转换为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")

答案 1 :(得分:1)

您必须设置变量:

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