ใครช่วยบอกหน่อยได้ไหมว่าฉันจะพิมพ์ข้อความต่อไปนี้ "ด้วย" เครื่องหมายคำพูดคู่
"คำคมคู่"
ใครช่วยบอกหน่อยได้ไหมว่าฉันจะพิมพ์ข้อความต่อไปนี้ "ด้วย" เครื่องหมายคำพูดคู่
"คำคมคู่"
String
อินสแตนซ์ที่มีเครื่องหมายคำพูดคู่
คำตอบ:
ด้วยแบ็กสแลชก่อนเครื่องหมายคำพูดคู่ที่คุณต้องการแทรกในสตริง:
let sentence = "They said \"It's okay\", didn't they?"
ตอนนี้sentence
คือ:
พวกเขาบอกว่า "ไม่เป็นไร" ใช่ไหม
เรียกว่าอักขระ "Escape": คุณกำลังใช้ค่าตามตัวอักษรซึ่งจะไม่ถูกตีความ
ด้วย Swift 4 คุณสามารถเลือกใช้"""
ตัวคั่นสำหรับข้อความตามตัวอักษรได้โดยที่ไม่จำเป็นต้องหนี:
let sentence = """
They said "It's okay", didn't they?
Yes, "okay" is what they said.
"""
สิ่งนี้ให้:
พวกเขาบอกว่า "ไม่เป็นไร" ใช่ไหม
ใช่ "โอเค" คือสิ่งที่พวกเขากล่าว
ด้วย Swift 5 คุณสามารถใช้ตัวคั่นขั้นสูง:
ตอนนี้ตัวอักษรสตริงสามารถแสดงโดยใช้ตัวคั่นขั้นสูง สตริงลิเทอรัลที่มีเครื่องหมายตัวเลขอย่างน้อยหนึ่งตัว (#) ก่อนเครื่องหมายคำพูดเปิดจะถือว่าแบ็กสแลชและเครื่องหมายอัญประกาศคู่เป็นตัวอักษรเว้นแต่จะตามด้วยเครื่องหมายตัวเลขจำนวนเท่ากัน ใช้ตัวคั่นที่ปรับปรุงแล้วเพื่อหลีกเลี่ยงความยุ่งเหยิงของตัวอักษรสตริงที่มีเครื่องหมายอัญประกาศคู่หรือเครื่องหมายแบ็กสแลชจำนวนมากที่มีค่า Escape พิเศษ
ตอนนี้สตริงของคุณสามารถแสดงเป็น:
let sentence = #"They said "It's okay", didn't they?"#
และถ้าคุณต้องการเพิ่มตัวแปรให้กับสตริงของคุณคุณควรเพิ่ม#
หลังจากแบ็กสแลช:
let sentence = #"My "homepage" is \#(url)"#
เพื่อความสมบูรณ์จากเอกสารของ Apple :
ตัวอักษรสตริงสามารถรวมอักขระพิเศษต่อไปนี้:
- อักขระพิเศษที่ใช้ Escape \ 0 (อักขระว่าง), \ (แบ็กสแลช), \ t (แท็บแนวนอน), \ n (ฟีดบรรทัด), \ r (การส่งคืนค่าขนส่ง), \ "(เครื่องหมายคำพูดคู่) และ \ '(เครื่องหมายคำพูดเดี่ยว)
- สเกลาร์ Unicode ตามอำเภอใจเขียนเป็น \ u {n} โดยที่ n คือเลขฐานสิบหก 1–8 หลักที่มีค่าเท่ากับจุดรหัส Unicode ที่ถูกต้อง
ซึ่งหมายความว่านอกเหนือจากความสามารถในการหลีกเลี่ยงอักขระด้วยแบ็กสแลชแล้วคุณยังสามารถใช้ค่ายูนิโคดได้ คำสั่งสองข้อต่อไปนี้เทียบเท่า:
let myString = "I love \"unnecessary\" quotation marks"
let myString = "I love \u{22}unnecessary\u{22} quotation marks"
myString
ตอนนี้จะประกอบด้วย:
ฉันชอบเครื่องหมายคำพูดที่ "ไม่จำเป็น"
ตามความต้องการของคุณคุณสามารถใช้หนึ่งใน4 รูปแบบต่อไปนี้เพื่อพิมพ์ Swift String
ที่มีเครื่องหมายคำพูดคู่อยู่ในนั้น
ตัวอักษรสตริงสามารถรวมอักขระพิเศษเช่น\"
:
let string = "A string with \"double quotes\" in it."
print(string) //prints: A string with "double quotes" in it.
ตัวอักษรสตริงสามารถรวมค่าสเกลาร์ Unicode ที่เขียนเป็น\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.
สถานะภาษา / สตริงและอักขระการเขียนโปรแกรม Swift :
เนื่องจากลิเทอรัลสตริงแบบหลายบรรทัดใช้เครื่องหมายอัญประกาศคู่สามอันแทนที่จะใช้เพียงอันเดียวคุณสามารถใส่เครื่องหมายอัญประกาศคู่ (
"
) ไว้ในลิเทอรัลสตริงแบบหลายบรรทัดได้โดยไม่ต้องหลบหนี
let string = """
A string with "double quotes" in it.
"""
print(string) //prints: A string with "double quotes" in it.
สถานะภาษา / สตริงและอักขระการเขียนโปรแกรม Swift :
คุณสามารถวางสตริงลิเทอรัลภายในตัวคั่นแบบขยายเพื่อรวมอักขระพิเศษในสตริงโดยไม่ต้องใช้เอฟเฟกต์ คุณวางสตริงของคุณไว้ในเครื่องหมายคำพูด (
"
) และล้อมรอบด้วยเครื่องหมายตัวเลข (#
) ตัวอย่างเช่นการพิมพ์สตริงลิเทอรัลจะ#"Line 1\nLine 2"#
พิมพ์ลำดับการหลีกเลี่ยงฟีดบรรทัด (\n
) แทนที่จะพิมพ์สตริงข้ามสองบรรทัด
let string = #"A string with "double quotes" in it."#
print(string) //prints: A string with "double quotes" in it.