在Swift中转换Unicode

4

我目前通过API调用收到了以下字符串:

\n\n这是一个发现柏林的好地方,也是一个舒适的归宿。

我想将其转换为更易读的格式:

这是一个发现柏林的好地方,也是一个舒适的归宿。

我查看了这篇文章,但那是手动编写每个转换,而可能会引入更多的这些Unicode标量字符。

据我所知,\u{2019}是Unicode标量,但其格式为\U2019,我很困惑。是否有任何内置方法可以进行此转换?


请参考此答案 https://dev59.com/lV0Z5IYBdhLWcg3wlRQV#31483262 - Suragch
2个回答

3

这个回答建议使用NSString方法stringByFoldingWithOptions

Swift String类有一个叫做“视图”的概念,它允许您在不同的编码下操作字符串。这很不错,还有一些视图可能会帮助您。

如果您在Swift中处理字符串,请阅读Mike Ash的这篇优秀的文章。他详细讨论了什么是真正的字符串,并提供了一些对Swift 2有用的提示。


0

假设您已经将字符串拆分并可以单独获取有问题的格式:

func convertFormat(stringOrig: String) -> Character {
    let subString = String(stringOrig.characters.split("U").map({$0})[1])
    let scalarValue = Int(subString)
    let scalar = UnicodeScalar(scalarValue!)
    return Character(scalar)
}

这将把字符串"\U2019"转换为由"\u{2019}"表示的字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接