2015-05-11 8 views
6

Ich habe versucht, es zu drucken, aber es passiert nur, weil es ein Escape-Zeichen ist. z. B. Ausgabe sollte wie folgt sein.(Swift) wie man "" Zeichen in einer Zeichenkette druckt?

\correct 

Vielen Dank im Voraus

+0

Flucht es wieder lieben: ' "ab \\ cd"' geben '' ab \ cd "' – Moritz

+0

Es ist dokumentiert * im Swift Book, und ein Link zu dem relevanten Kapitel wurde in einem Kommentar zu Ihrer vorherigen Frage bereitgestellt. –

+2

Weiß nicht, warum diese Frage diese negative Rückmeldung bekam, weil es mir definitiv geholfen hat. Das Problem ist, doppelter Backslash wird nicht im rechten Feld angezeigt, wenn Sie sich im Spielplatz befinden. –

Antwort

33

Dafür und auch zukünftige Referenz:

\0 – Null character (that is a zero after the slash) 
\\ – Backslash itself. Since the backslash is used to escape other characters, it needs a special escape to actually print itself. 
\t – Horizontal tab 
\n – Line Feed 
\r – Carriage Return 
\” – Double quote. Since the quotes denote a String literal, this is necessary if you actually want to print one. 
\’ – Single Quote. Similar reason to above. 
+1

Warum muss ein Single-Quote auf jeden Fall maskiert werden? –

+0

@DuncanC, weil der Compiler nicht entscheiden kann, ob es das Ende der Zeichenfolge oder ein doppelter Schrägstrich IN der Zeichenfolge ist –

3

Der Backslash \ fungiert als Escape-Zeichen, wenn in einem String verwendet. Das bedeutet, dass Sie beispielsweise doppelte Anführungszeichen in einer Zeichenfolge verwenden können, indem Sie sie mit \ voranstellen. Gleiches gilt auch für das Backslash-Zeichen selbst, dh dass println("\\") nur \ zum Ausdruck bringt.

+3

Versuchen Sie es selbst. Das funktioniert nicht. –

+0

@WayneHenderson Probieren Sie das * selbst * auf einem Spielplatz. Wie [dies] (https://www.evernote.com/l/AOydN3MyblZCXo-ioRuodid_dfyQH3ne57w). Und sehen Sie, dass es funktioniert. Wenn dies nicht der Fall ist, bedeutet das, dass Sie irgendwo ein anderes Problem haben - es bedeutet nicht, dass alle anderen falsch liegen. – Moritz

+1

Danke für die Ausbildung, Eric und Entschuldigung für solch einen Fehler. Ich hatte mich auf die Playback-Ausgabe auf der rechten Seite verlassen und nie dieses untere Panel benutzt. Die Glühbirne ist jetzt angezündet worden. Du musst ein Mod sein? Ich habe einen anderen Thread zu diesem Thema gestartet und es sollte wahrscheinlich auch sterben. –

1
var s1: String = "I love my " 
let s2: String = "country" 
    s1 += "\"\(s2)\"" 
    print(s1) 

Es wird drucke ich mit einem anderen Backslash mein "Land"

Verwandte Themen