Swift:
ค้นหาความยาวของสตริง
วิธีการ:
ใน Swift, คุณสามารถหาความยาวของสตริงได้โดยการเข้าถึงคุณสมบัติ count
ง่าย ๆ เลย, ลองทำดู:
let greeting = "Hello, World!"
print(greeting.count) // ผลลัพธ์: 13
จำไว้ว่า Swift ถือว่าอีโมจิเป็นตัวอักษรเดียว, ขอบคุณ Unicode:
let wave = "👋"
print(wave.count) // ผลลัพธ์: 1
ลงลึก
กลับไปในยุคของ Objective-C, การหาความยาวของสตริงไม่ได้ตรงไปตรงมาเช่นนี้—มี length
และ lengthOfBytes(using:)
. Swift ทำให้มันสะอาดกว่าด้วย count
.
ระวังเกี่ยวกับอักขระประกอบ: คือตัวอักษรที่มองเห็นเป็นหนึ่งตัวแต่สร้างจากหลาย Unicode scalars. count
จัดการกับสิ่งเหล่านี้ได้อย่างง่ายดาย
มีทางเลือกอื่นไหม? แน่นอน, คุณอาจจะเดินทางผ่านสตริงด้วยลูป, แต่นั่นเหมือนกับการประดิษฐ์ล้อใหม่และมีประสิทธิภาพน้อยกว่า
ภายใต้ฮู้ด, count
มีความซับซ้อน O(n), ซึ่ง ‘n’ คือจำนวนตัวอักษร นั่นเป็นเพราะว่าสตริงของ Swift ไม่ใช่การรวบรวมของ Char
s, แต่เป็นลำดับของกลุ่ม grapheme ซึ่งอาจมีความยาวแตกต่างกันไป
ดูเพิ่มเติม
- เอกสารการใช้งาน Swift เกี่ยวกับสตริง: เอกสารสตริง Swift
- พื้นฐาน Unicode: คณะรักษาการ Unicode
- ดำดิ่งไปเรื่องประสิทธิภาพสตริงของ Swift: ประสิทธิภาพสตริง Swift