ในการตรวจสอบว่าสตริงมีสตริงอื่นใน Swift หรือไม่ เราต้องการสตริงที่ต่างกันสองสตริง หนึ่งสตริงที่เราต้องตรวจสอบว่าประกอบด้วยสตริงอื่นหรือไม่
ให้เราบอกว่าสตริงที่เราต้องการตรวจสอบคือ "point" และสตริงทั้งหมดคือ "TutorialsPoint" และสตริงอื่นคือ "one two three" มาดูสตริงทั้งสองนี้ในสนามเด็กเล่นกันเถอะ
เราสามารถทำได้สองวิธีดังที่แสดงด้านล่าง มาเริ่มด้วยการสร้างสตริงที่แตกต่างกันสามแบบ
var CompleteStr1 = "Tutorials point" var completeStr2 = "one two three" var stringToCheck = "point"
วิธีที่หนึ่ง
ในวิธีนี้ เราจะใช้เมธอด .contains ของ Strings เพื่อตรวจสอบว่ามีสตริงในสตริงอื่นหรือไม่ โดยจะคืนค่าเป็น "จริง" หากมีอยู่ มิฉะนั้นจะคืนค่าเป็น "เท็จ"
if CompleteStr1.contains(stringToCheck) { print("contains") } else { print("does not contain") }
วิธีที่ 2
ในวิธีนี้ เราจะตรวจสอบช่วงของสตริงหากช่วงเป็นศูนย์ หมายความว่าไม่มีสตริงที่เรากำลังตรวจสอบอยู่ มิฉะนั้น แสดงว่ามีสตริงนั้นอยู่
if completeStr2.range(of: stringToCheck) != nil { print("contains") } else { print("does not contain") }
เมื่อเรารันโค้ดด้านบน เราจะได้ผลลัพธ์ดังที่แสดงด้านล่าง
ในทำนองเดียวกัน เรามาลองใช้วิธีการเหล่านี้กับตัวอย่างอื่นกัน
var Str1 = "12312$$33@" var Str2 = "%%" var Str3 = "$$" if Str1.contains(Str2) { print("contains") } else { print("does not contain") } if Str1.range(of: Str3) != nil { print("contains") } else { print("does not contain") }
จะได้ผลลัพธ์ดังรูปด้านล่าง