2015-05-11 37 views

Trả lời

103

Với một dấu chéo ngược trước khi nháy kép bạn muốn chèn trong String:

let sentence = "They said \"It's okay\", didn't they?" 

Bây giờ sentence là:

Họ nói "Không sao đâu" phải không?

Nó được gọi là "thoát" một ký tự: bạn đang sử dụng giá trị theo nghĩa đen của nó, nó sẽ không được giải thích.


Với Swift 4 bạn cách khác có thể chọn để sử dụng """ delimiter cho văn bản theo nghĩa đen, nơi có không cần phải thoát:

let sentence = """ 
They said "It's okay", didn't they? 
Yes, "okay" is what they said. 
""" 

Điều này cho phép:

Họ nói " Không sao đâu, phải không?
Vâng, "được rồi" là những gì họ nói.

15

Để hoàn chỉnh, từ Apple docs:

literals chuỗi có thể bao gồm các ký tự đặc biệt như sau:

  • Các thoát ký tự đặc biệt \ 0 (kí tự null), \ (dấu chéo ngược), \ t (tab ngang), \ n (nguồn cấp dữ liệu dòng), \ r (trả về vận chuyển), \ "(đôi trích dẫn) và \ '(dấu nháy đơn)
  • Một quy mô Unicode tùy ý ar, viết như \ u {n}, trong đó n là một số thập lục 1-8 chữ số với một giá trị tương đương với mã Unicode hợp lệ điểm

có nghĩa là ngoài việc có thể để thoát khỏi với dấu gạch chéo ngược, bạn có thể sử dụng giá trị unicode. Sau hai báo cáo là tương đương:

let myString = "I love \"unnecessary\" quotation marks" 
let myString = "I love \u{22}unnecessary\u{22} quotation marks" 

myString bây giờ sẽ bao gồm:

Tôi yêu dấu ngoặc kép "không cần thiết"

Các vấn đề liên quan