有人能告诉我怎么以“包含在内”双引号中打印输出吗?
“双引号”
在要插入字符串的双引号前加上反斜杠:
let sentence = "They said \"It's okay\", didn't they?"
现在的sentence
是:
他们说“没关系”,对吧?
这被称为转义字符:您正在使用其字面值,它不会被解释。
使用Swift 4,您可以选择使用"""
分隔符来表示无需转义的文字:
let sentence = """
They said "It's okay", didn't they?
Yes, "okay" is what they said.
"""
他们说“没问题”,是吗?
是的,“没问题”就是他们说的。
使用Swift 5,您可以使用增强分隔符:
现在可以使用增强分隔符来表示字符串字面量。在开头引号之前有一个或多个井号(#)的字符串字面量会将反斜杠和双引号字符视为文字,除非它们后面跟着相同数量的井号。使用增强分隔符来避免在包含许多双引号或反斜杠字符的字符串字面量中添加额外的转义。
您的字符串现在可以表示为:
let sentence = #"They said "It's okay", didn't they?"#
如果你想在字符串中添加变量,你需要在反斜杠后面加上#
:
let sentence = #"My "homepage" is \#(url)"#
String
。
字符串字面量可以包括特殊字符,比如\"
:
let string = "A string with \"double quotes\" in it."
print(string) //prints: A string with "double quotes" in it.
字符串文本可以包含Unicode标量,书写方式为\u{n}
:
let string = "A string with \u{22}double quotes\u{22} in it."
print(string) //prints: A string with "double quotes" in it.
The Swift Programming Language / Strings and Characters中指出:
由于多行字符串文字使用三个双引号而不是一个,因此可以在其中包含双引号(
"
),无需转义它。
let string = """
A string with "double quotes" in it.
"""
print(string) //prints: A string with "double quotes" in it.
The Swift Programming Language / Strings and Characters中提到:
您可以将一个字符串文字放在扩展分隔符中,以在字符串中包含特殊字符而不会调用它们的效果。您必须用引号标记(
"
)将字符串括起来,并用井号标记(#
)将其包围。例如,打印字符串字面量#"Line 1\nLine 2"#
将打印换行符转义序列(\n
),而不是将该字符串打印在两行上。
let string = #"A string with "double quotes" in it."#
print(string) //prints: A string with "double quotes" in it.
let myString = "I love \"unnecessary\" quotation marks"
let myString = "I love \u{22}unnecessary\u{22} quotation marks"
myString
现在包含以下内容:
我喜欢“不必要”的引号