从 swift 中的 NSMutableString 获取字符串

Get String from NSMutableString in swift

NSMutableString 得到 String 的正确方法是什么?我目前正在使用:

var mutableString = NSMutableString(string: string)
var string = mutableString.substring(from: 0)

这似乎有点老套...

谢谢

这应该可以解决问题:

let newStr = String(mutableString)

只需将 NSMutableString 转换为 String:

var mutableString = NSMutableString(string: "Example")
var string = String(mutableString)

或者:

var mutableString = NSMutableString(string: "Example")
var string = mutableString as String

正如评论中已经提到的那样正确的方法是完全使用NSMutableString.

你给出的例子

let mutableString = NSMutableString(string: "Hello World")
mutableString.replaceCharacters(in: NSRange(location: 4, length: 5), with: "XXXXX")
let swiftString = String(mutableString)

可以用原生写Swift

var string = "Hello World"

let nsRange = NSRange(location: 4, length: 5)
string.replaceSubrange(Range(nsRange, in: string)!, with: "XXXXX")

结果相同,但后者效率更高。