สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API
ทำความเข้าใจสตริงที่รองรับ Unicode ได้แก่ กลุ่มกราฟีมแบบขยาย String.Index สตริงย่อย API ที่ใช้บ่อย (prefix/suffix/contains, split/join) และประสิทธิภาพแบบคัดลอกเมื่อเขียน
สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
ยูนิโคดและกราฟีม
สตริงของ Swift รองรับยูนิโคดอย่างถูกต้อง อักขระที่ผู้ใช้มองเห็นหนึ่งตัวอาจประกอบด้วยสเกลาร์หลายตัว ซึ่งเรียกว่า กลุ่มกราฟีมแบบขยาย
- ตัวอย่าง: อีโมจิที่มีโทนสีผิว และตัวอักษรที่มีเครื่องหมายกำกับ
- การนับใช้อักขระ ไม่ใช่ไบต์
การนับอักขระ
countใช้วัดจำนวนอักขระ (กลุ่มกราฟีม) ไม่ใช่จำนวนไบต์
let wave = "👋🏽" // hand + skin tone modifier
let text = "Hi " + wave
print(text, "count =", text.count) // counts visible charactersดัชนีและการนำทาง
ใช้ String.Index ร่วมกับตัวช่วยอย่าง startIndex index(after:) และ index(_:offsetBy:)
let s = "Swift"
let firstIndex = s.startIndex
let secondIndex = s.index(after: firstIndex)
print(s[firstIndex], s[secondIndex]) // S wซับสตริง
ซับสตริงใช้พื้นที่จัดเก็บร่วมกับสตริงต้นฉบับ หากต้องการจัดเก็บระยะยาว ให้แปลงเป็น String(left)
let phrase = "hello.world"
let dot = phrase.firstIndex(of: ".")!
let left = phrase[..<dot] // Substring (shares storage)
let right = phrase[phrase.index(after: dot)...] // Substring
print(left, right)ส่วนติดต่อทั่วไป
ส่วนติดต่อที่มีประโยชน์ ได้แก่ hasPrefix hasSuffix contains รวมถึง split/joined
let path = "/usr/local/bin"
print(path.hasPrefix("/usr")) // true
print(path.hasSuffix("bin")) // true
print(path.contains("local")) // true
let parts = path.split(separator: "/") // [ "", "usr", "local", "bin" ] without first slash
let joined = parts.joined(separator: "-")
print(joined)ประสิทธิภาพ (COW)
ประสิทธิภาพ: สตริงและซับสตริงใช้การคัดลอกเมื่อเขียน การคัดลอกจึงมีต้นทุนต่ำจนกว่าจะมีการแก้ไข หากต้องการจัดเก็บซับสตริงระยะยาว ให้แปลงเป็นสตริง
กฎดัชนีของสตริง
ตรวจสอบอย่างรวดเร็ว: วิธีที่ถูกต้องในการใช้ดัชนีกับสตริงของ Swift คืออะไร
สรุปทบทวน
สรุปทบทวน: สตริงที่รองรับยูนิโคดใช้งานผ่านกลุ่มกราฟีม นำทางด้วย String.Index ตัดบางส่วนเป็นซับสตริง ใช้ส่วนติดต่อทั่วไป และอย่าลืมประสิทธิภาพแบบ COW
คำถามที่พบบ่อย
บทเรียน “สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API”
ทำความเข้าใจสตริงที่รองรับ Unicode ได้แก่ กลุ่มกราฟีมแบบขยาย String.Index สตริงย่อย API ที่ใช้บ่อย (prefix/suffix/contains, split/join) และประสิทธิภาพแบบคัดลอกเมื่อเขียน คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สตริงและ Unicode — กลุ่มกราฟีม ดัชนี สตริงย่อย และ API
- API ที่ใช้บ่อย — prefix/suffix/contains, split/join
- ข้อควรรู้ด้านประสิทธิภาพ — การคัดลอกเมื่อเขียน