在 Swift 中使用变音符号转换字符串

Convert String with Umlaut in Swift

我有一个文本字段输入 returns 一个像这样的字符串:

let name = "B\U00f6se"

如何转换变音符号以便 \U00f6(和任何其他特殊字符)被替换为适当的等效字符:

name = "Böse";

感谢您的帮助!

//七月

NSArrayNSDictionarydescription方法使用\Unnnn 所有非 ASCII 字符的转义序列。

SwiftForms自带的Xcode示例工程中,submit方法 向用户显示此描述:

func submit(_: UIBarButtonItem!) {

    let message = self.form.formValues().description
    let alert: UIAlertView = UIAlertView(title: "Form output", message: message, delegate: nil, cancelButtonTitle: "OK")
    alert.show()
}

效果如你所见

lastName = "B\U00f6se";

description方法只适用于调试或记录。 您应该做的是枚举所有键和值:

for (key, value) in self.form.formValues() {
    println("\(key) = \(value)")
}

哪个会告诉你

lastName = Böse

或检索您感兴趣的表单值:

if let lastName = self.form.formValues()["lastName"] as? String {
    println(lastName) // Böse
}

有一个更简单的方法。

let name = "B\u{00f6}se"
pinrtln(name)

有关详细信息,请参阅 this entry