Kann mir bitte jemand sagen, wie ich etwas auf folgende Weise "mit" doppelten Anführungszeichen drucken kann.
"Anführungszeichen"
String
Instanz zeigt, die doppelte Anführungszeichen enthält.
Kann mir bitte jemand sagen, wie ich etwas auf folgende Weise "mit" doppelten Anführungszeichen drucken kann.
"Anführungszeichen"
String
Instanz zeigt, die doppelte Anführungszeichen enthält.
Antworten:
Mit einem Backslash vor dem doppelten Anführungszeichen möchten Sie in den String einfügen:
let sentence = "They said \"It's okay\", didn't they?"
Jetzt sentence
ist:
Sie sagten "Es ist okay", nicht wahr?
Es heißt "Escape" eines Zeichens: Wenn Sie seinen Literalwert verwenden, wird er nicht interpretiert.
Mit Swift 4 können Sie alternativ das """
Trennzeichen für wörtlichen Text verwenden, bei dem Sie nicht entkommen müssen:
let sentence = """
They said "It's okay", didn't they?
Yes, "okay" is what they said.
"""
Das gibt:
Sie sagten "Es ist okay", nicht wahr?
Ja, "okay" haben sie gesagt.
Mit Swift 5 können Sie erweiterte Trennzeichen verwenden:
String-Literale können jetzt mit erweiterten Trennzeichen ausgedrückt werden . Ein Zeichenfolgenliteral mit einem oder mehreren Zahlenzeichen (#) vor dem Eröffnungszitat behandelt Backslashes und doppelte Anführungszeichen als Literal, es sei denn, ihnen folgt die gleiche Anzahl von Zahlenzeichen. Verwenden Sie erweiterte Trennzeichen, um unübersichtliche Zeichenfolgenliterale zu vermeiden, die viele doppelte Anführungszeichen oder Backslash-Zeichen mit zusätzlichen Escapezeichen enthalten.
Ihre Zeichenfolge kann jetzt wie folgt dargestellt werden:
let sentence = #"They said "It's okay", didn't they?"#
Und wenn Sie Ihrer Zeichenfolge eine Variable hinzufügen möchten, sollten Sie diese auch #
nach dem Backslash hinzufügen :
let sentence = #"My "homepage" is \#(url)"#
Der Vollständigkeit halber aus Apple-Dokumenten :
String-Literale können die folgenden Sonderzeichen enthalten:
- Die maskierten Sonderzeichen \ 0 (Nullzeichen), \ (Backslash), \ t (horizontale Registerkarte), \ n (Zeilenvorschub), \ r (Wagenrücklauf), \ "(doppeltes Anführungszeichen) und \ '(einfaches Anführungszeichen)
- Ein beliebiger Unicode-Skalar, geschrieben als \ u {n}, wobei n eine 1–8-stellige Hexadezimalzahl mit einem Wert ist, der einem gültigen Unicode-Codepunkt entspricht
Dies bedeutet, dass Sie nicht nur den Charakter mit einem Backslash umgehen können, sondern auch den Unicode-Wert verwenden können. Die folgenden zwei Aussagen sind äquivalent:
let myString = "I love \"unnecessary\" quotation marks"
let myString = "I love \u{22}unnecessary\u{22} quotation marks"
myString
würde jetzt enthalten:
Ich liebe "unnötige" Anführungszeichen
Je nach Bedarf können Sie eines der folgenden 4 Muster verwenden, um einen Swift zu drucken String
, der doppelte Anführungszeichen enthält.
String-Literale können Sonderzeichen enthalten wie \"
:
let string = "A string with \"double quotes\" in it."
print(string) //prints: A string with "double quotes" in it.
Zeichenfolgenliterale können Unicode-Skalarwerte enthalten, die wie folgt geschrieben sind \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.
In der Programmiersprache / den Zeichenfolgen und Zeichen von Swift heißt es:
Da mehrzeilige Zeichenfolgenliterale drei doppelte Anführungszeichen anstelle von nur einem verwenden, können Sie ein doppeltes Anführungszeichen (
"
) in ein mehrzeiliges Zeichenfolgenliteral einfügen, ohne es zu umgehen.
let string = """
A string with "double quotes" in it.
"""
print(string) //prints: A string with "double quotes" in it.
In der Programmiersprache / den Zeichenfolgen und Zeichen von Swift heißt es:
Sie können ein Zeichenfolgenliteral in erweiterte Trennzeichen einfügen, um Sonderzeichen in eine Zeichenfolge aufzunehmen, ohne deren Wirkung aufzurufen. Sie setzen Ihre Zeichenfolge in Anführungszeichen (
"
) und umgeben diese mit Zahlenzeichen (#
). Wenn Sie beispielsweise das Zeichenfolgenliteral drucken, wird die#"Line 1\nLine 2"#
Zeilenvorschub-Escape-Sequenz (\n
) gedruckt, anstatt die Zeichenfolge über zwei Zeilen zu drucken.
let string = #"A string with "double quotes" in it."#
print(string) //prints: A string with "double quotes" in it.