2015-05-11 22 views
6

Próbowałem go wydrukować, ale to po prostu przechodzi, ponieważ jest to znak ucieczki. np. Wynik powinien wyglądać następująco.(Swift) jak wydrukować znak "" w ciągu znaków?

\correct 

góry dzięki

+0

Ucieczka go ponownie z innym backslashem: ' "ab \\ cd"' da '' ab \ cd "' – Moritz

+0

It * jest udokumentowane * w książce Swift, a link do odpowiedniego rozdziału został zamieszczony w komentarzu do poprzedniego pytania. –

+2

Nie wiem, dlaczego to pytanie dostało te negatywne opinie, ponieważ zdecydowanie mi pomogło. Problem polega na tym, że podwójny ukośnik odwrotny nie pojawia się w prawym panelu na placu zabaw. –

Odpowiedz

33

Do tego i także w przyszłości:

\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

Dlaczego mimo to jednorazowy cytat trzeba uciec? –

+0

@DuncanC, ponieważ kompilator nie może zdecydować, czy jest to koniec ciągu, czy podwójny ukośnik w ciągu znaków –

3

Odwrotny ukośnik znaków \ działa jako znak ucieczki, gdy stosowane w ciąg. Oznacza to, że możesz użyć na przykład podwójnych cudzysłowów w ciągu znaków, czekając na nich pod \. To samo dotyczy samego znaku ukośnika odwrotnego, co oznacza, że ​​println("\\") spowoduje wydrukowanie tylko \.

+3

Wypróbuj sam. To nie działa. –

+0

@WayneHenderson Spróbuj tego * siebie * na placu zabaw. Podobnie jak [to] (https://www.evernote.com/l/AOydN3MyblZCXo-ioRuodid_dfyQH3ne57w). I zobacz, że to działa. Jeśli nie, oznacza to, że * masz * inny problem - nie oznacza to, że wszyscy inni się mylą. – Moritz

+1

Dzięki za wykształcenie, Eric i przepraszam za taki błąd noob. Po lewej stronie opierałem się na wynikach Playground i nigdy nie użyłem tego dolnego panelu. Żarówka jest teraz zapalona. Musisz być mod? Zacząłem inny wątek na ten temat i prawdopodobnie powinien umrzeć także. –

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

To będzie drukować Kocham moją "kraj"

Powiązane problemy