2015-05-11 15 views
6

Ho provato a stamparlo ma è solo un passaggio perché è un personaggio in fuga. ad esempio, l'output dovrebbe essere come segue.(Swift) come stampare il carattere "" in una stringa?

\correct 

Grazie in anticipo

+0

fuga di nuovo con un altro backslash: ' "ab \\ cd"' darà '" ab \ cd "' – Moritz

+0

È * documentato * nello Swift Book e un link al capitolo pertinente è stato fornito in un commento alla domanda precedente. –

+2

Non so perché questa domanda abbia avuto un feedback negativo, perché sicuramente mi ha aiutato. Il problema è che la doppia barra rovesciata non viene mostrata nel pannello di destra quando si trova nel campo di gioco –

risposta

33

Per questo e anche il futuro di riferimento:

\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

Perché una citazione singola deve essere sfuggita, comunque? –

+0

@DuncanC perché il compilatore non può decidere se è la fine della stringa o una doppia barra nella stringa –

3

Il carattere rovesciato \ agisce come un carattere di escape quando viene utilizzato in una stringa. Ciò significa che è possibile utilizzare, ad esempio, virgolette doppie, in una stringa pre-in sospeso con \. Lo stesso vale anche per il carattere backslash stesso, vale a dire che println("\\") comporterà la stampa di \.

+3

Provalo tu stesso. Questo non funziona. –

+0

@WayneHenderson Prova * te * in un parco giochi. Come [questo] (https://www.evernote.com/l/AOydN3MyblZCXo-ioRuodid_dfyQH3ne57w). E vedi che funziona. Se non lo fa, significa * tu * hai un altro problema da qualche parte - non significa che tutti gli altri hanno torto. – Moritz

+1

Grazie per l'educazione, Eric, e mi dispiace per un tale errore di noob. Mi sono affidato all'output di Playground sulla destra, e mai una volta ho usato quel pannello inferiore. La lampadina è ora accesa. Devi essere un mod? Ho iniziato un altro thread su questo argomento e probabilmente dovrebbe anche morire. –

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

verrà stampata amo il mio "paese"

Problemi correlati