如何将 \"> 存储在 Swift 字符串中?

How to store \"> in a Swift string?

我正在尝试将 \"> 存储在字符串中。理论上,"\\" 应该打印 \ 而 "\"" 确实打印 "。但是,当我尝试使用 \ 在字符串中打印 \输出是双正斜杠:

var str = "\">" 
// ">
var str2 = "\"
// \ 
var str3 = "\\">"
// \">
var str4 = "\">"
// escapes after quotation mark (error)

你的str3是对的。例如:

print("\\">")

打印所需的序列:

\">

您可能会混淆由 Swift Playground 生成的 escaped 输出与实际字符串。如有疑问,请尝试控制台 :)

答案是str3。参见示例:

var str3 = "\\">"
str3.characters.forEach {
    print([=10=])
}

\
"
>

str3 本身 在 Xcode 中输出 什么并不重要,因为 Xcode 可以决定如何显示字符串。例如。它决定显示 \ 的转义字符。它 not" 前面显示转义符,因为例如在 Playground 中,内部 " 的颜色已经与实际分隔的 " 颜色不同字符串:

playground 输出错误(或者我没看懂)。 print() 虽然给你正确的输出:

var str3 = "\\">"  // Plaground output:  \">
print(str3)

打印:\">