ตัวอย่างที่ 1:
ในสถานการณ์นี้ เราต้องทำงานกับสตริงและข้อมูลอินพุตหรือเอาต์พุต ดังนั้นจึงมีไฟล์ส่วนหัว 'iostream' และ 'string' ดังนั้นจึงต้องรวมไฟล์ส่วนหัวเหล่านี้ไว้ที่นี่ หลังจากนั้น เราไม่จำเป็นต้องรวม “std” นี้กับแต่ละฟังก์ชันแยกจากกันในโค้ดของเราอีกต่อไป เนื่องจากเราได้รวม “namespace std” ด้วยความช่วยเหลือของคีย์เวิร์ด “using” แล้ว ต่อไปนี้จะเรียกว่าฟังก์ชัน 'main()' จากนั้นตัวแปร 'string' ชื่อ 'OriginalString' จะถูกเตรียมใช้งานด้วยสตริงบางตัว จากนั้นเราเริ่มต้นตัวแปร 'สตริง' อื่นชื่อ 'คำ' ด้วย C ++
ด้านล่างนี้ เราใช้ 'cout' และพิมพ์สตริงต้นฉบับนั้น หลังจากนี้ เราจะประกาศ 'int Result' และวางฟังก์ชัน 'contains()' เพื่อตรวจสอบว่า 'OriginalString' มี 'word' หรือไม่ เราวาง 'ถ้า' ไว้ด้านล่าง เราส่งต่อ 'ผลลัพธ์' ไปที่ 'ถ้า' หากสตริงเดิมมีสตริงย่อย จะแสดงคำสั่งที่เราเพิ่มไว้หลัง 'if' ในกรณีที่สตริงไม่มีสตริงย่อย คำสั่งที่แสดงหลัง 'else' จะถูกแสดงผล
รหัส 1:
#รวม#รวม
ใช้เนมสเปซมาตรฐาน -
ภายใน หลัก - -
-
สตริง originalString - 'ฉันชอบการเขียนโปรแกรม C++' -
คำสตริง - 'ค++' -
ศาล - 'สตริงคือ = ' - ต้นฉบับสตริง - สิ้นสุด - สิ้นสุด -
ภายใน ผลลัพธ์ - ต้นฉบับสตริง ประกอบด้วย - คำ - -
ถ้า - ผลลัพธ์ -
-
ศาล - 'คำที่พบในสตริงซึ่งก็คือ = ' - คำ - สิ้นสุด -
-
อื่น
-
ศาล - 'ไม่พบคำในสตริง' - สิ้นสุด -
-
กลับ 0 -
-
เอาท์พุท:
ผลลัพธ์นี้แสดงให้เห็นว่าสตริงย่อยที่เราพบในสตริงต้นฉบับโดยใช้ฟังก์ชัน contains() อยู่ภายในสตริงต้นฉบับและแสดงไว้ที่นี่
ตัวอย่างที่ 2:
“iostream” และ “string” เป็นไฟล์ส่วนหัวที่เรานำเข้าในโค้ดนี้ เนมสเปซ 'std' รวมอยู่ด้วย จากนั้น main() จะถูกเรียกที่นี่ ต่อไป เราจะเริ่มต้นตัวแปร “string” ที่เรียกว่า “str_1” โดยการเพิ่มข้อมูลสตริงบางส่วน ต่อจากนี้ไป เราจะเริ่มต้นตัวแปร 'string' ที่เรียกว่า 'str_2' ด้วย 'Rain'
ด้านล่างนี้ เราจะพิมพ์สตริงต้นฉบับโดยใช้ฟังก์ชัน 'cout' เพื่อตรวจสอบว่า “str_2” มีอยู่ใน “str_1” หรือไม่ เราจะประกาศ “int Outcome” และแทรกเมธอด contains() ที่นี่ ด้านล่างนี้ เราใส่ 'if' และส่ง 'Outcome' ไปที่ 'if' เราเพิ่มคำสั่ง 'cout' หลังจาก 'if' ถูกเรนเดอร์ หากสตริงต้นฉบับมีสตริงย่อย มิฉะนั้น คำสั่ง 'cout' ที่ตามหลัง 'else' จะถูกแสดงผล
รหัส 2:
#รวม#รวม
ใช้เนมสเปซมาตรฐาน -
ภายใน หลัก - -
-
สตริง str_1 - 'อากาศข้างนอกเย็นสบาย' -
สตริง str_2 - 'ฝน' -
ศาล - 'สตริงคือ = ' - str_1 - สิ้นสุด - สิ้นสุด -
ภายใน ผล - str_1. ประกอบด้วย - str_2 - -
ถ้า - ผล -
-
ศาล - 'คำที่พบในสตริงซึ่งก็คือ = ' - str_2 - สิ้นสุด -
-
อื่น
-
ศาล - 'ไม่พบคำในสตริง' - สิ้นสุด -
-
กลับ 0 -
-
เอาท์พุท:
นี่แสดงว่าสตริงย่อยที่เราพบในสตริงต้นฉบับด้วยความช่วยเหลือของการใช้ฟังก์ชัน contains() ไม่พบในสตริงต้นฉบับ และเป็นผลให้แสดงผลที่นี่
ตัวอย่างที่ 3:
เรานำเข้าไฟล์ส่วนหัว “iostream” และ “string” ในโค้ดนี้ จากนั้น ด้านล่างนี้ เราใช้ 'namespace std' จากนั้น main() จะถูกเรียกใช้ที่นี่ ตอนนี้ เราเริ่มต้นตัวแปรสองตัวของประเภทข้อมูล “string” ด้วยชื่อ “myString_1” และ “myString_2” ตามลำดับ และกำหนดสตริงดั้งเดิมที่เราต้องการค้นหาสตริงย่อยให้กับตัวแปร “myString_1” และกำหนดสตริงย่อย ไปที่ตัวแปร “myString_2”
หลังจากนี้ เราจะแสดงสตริงดั้งเดิมโดยใส่ “myString_1” ลงในคำสั่ง “cout” จากนั้นวาง “if” ซึ่งเราใช้เมธอด “contains()” เพื่อตรวจสอบว่าสตริงที่กำหนดมีสตริงย่อยหรือไม่ หากมีสตริงย่อยอยู่ในสตริงเดิม ด้วยความช่วยเหลือของ 'cout' เราจะเรนเดอร์ผลลัพธ์
เราวางประโยค “cout” สองประโยค โดยประโยคหนึ่งวางไว้หลัง “if” และอีกประโยคหนึ่งถูกเพิ่มไว้หลังส่วน “else” หากสตริงเดิมมีสตริงย่อย ระบบจะแสดงผล “cout” ที่อยู่หลัง “if” หากไม่พบสตริงย่อยหรือสตริงเดิมไม่มีสตริงย่อย ระบบจะแสดงผล 'cout' ที่ตามหลัง 'else'
รหัส 3:
#รวม#รวม
ใช้เนมสเปซมาตรฐาน -
ภายใน หลัก - -
-
สตริง myString_1 - 'สวัสดี! สวัสดีชาวโลก' -
สตริง myString_2 - 'สวัสดี' -
ศาล - 'สตริงที่สมบูรณ์คือ' - myString_1 - สิ้นสุด -
ถ้า - myString_1. ประกอบด้วย - myString_2 - - -
ศาล - 'สตริงที่พบ = ' - myString_2 - สิ้นสุด -
-
อื่น -
ศาล - “ไม่พบสตริงที่นี่” - สิ้นสุด -
-
กลับ 0 -
-
เอาท์พุท:
ผลลัพธ์นี้แสดงให้เห็นว่าสตริงย่อยที่เราค้นหาภายในสตริงต้นฉบับโดยใช้เมธอด contains() นั้นอยู่ภายในสตริงต้นฉบับและแสดงไว้ที่นี่
ตัวอย่างที่ 4:
ไฟล์ส่วนหัว “iostream” และ “string” จะถูกนำเข้ามายังโค้ดนี้ จากนั้นฟังก์ชัน main() จะถูกเรียกที่นี่หลังจากที่เราใช้ 'namespace std' ข้างใต้ การเริ่มต้นของตัวแปรทั้งสองชนิดข้อมูล 'สตริง' มีชื่อว่า 's_1' และ 's_2' ตามลำดับ ตอนนี้สตริงดั้งเดิมที่เราต้องการค้นหาสตริงย่อยถูกกำหนดให้กับตัวแปร “s_1” แล้ว และสตริงย่อยถูกกำหนดให้กับตัวแปร “s_2” จากนั้นสตริงดั้งเดิมจะแสดงโดยการแทรก “s_1” ลงในคำสั่ง “cout”
ต่อไป เราจะเพิ่มส่วนคำสั่ง “if” โดยที่เราใช้เมธอด contains() เพื่อตรวจสอบว่าสตริงที่ให้มามีสตริงย่อยหรือไม่ เราเรนเดอร์เอาต์พุตโดยใช้ 'cout' หากมีสตริงย่อยอยู่ในสตริงดั้งเดิม มีการเพิ่มคำสั่ง 'cout' สองคำสั่ง หนึ่งคำสั่งอยู่หลัง 'if' และอีกคำสั่งหนึ่งอยู่หลังส่วน 'else' ของโค้ด “cout” ที่ตามหลัง “if” จะแสดงผลหากมีสตริงย่อยอยู่ในสตริงต้นฉบับ มิฉะนั้น 'cout' ที่ตามหลัง 'else' จะถูกเรนเดอร์หากสตริงย่อยไม่สามารถอยู่ในสตริงดั้งเดิมได้
รหัส 4:
#รวม#รวม
ใช้เนมสเปซมาตรฐาน -
ภายใน หลัก - -
-
สตริง s_1 - 'สวัสดี ฉันแจ็คอยู่นี่' -
สตริง s_2 - 'ปีเตอร์' -
ศาล - 'สตริงที่สมบูรณ์คือ = ' - s_1 - สิ้นสุด -
ถ้า - s_1. ประกอบด้วย - s_2 - - -
ศาล - 'สตริงที่พบ = ' - s_2 - สิ้นสุด -
-
อื่น -
ศาล - 'ไม่พบสตริง = ' - s_2 - สิ้นสุด -
-
กลับ 0 -
-
เอาท์พุท:
จากที่เห็นจากผลลัพธ์นี้ ไม่พบสตริงย่อยที่เราค้นหาในข้อความต้นฉบับโดยใช้เมธอด contains() ในโค้ด
ตัวอย่างที่ 5:
ที่นี่เราจะใช้ไลบรารี 'boost' และค้นหาว่าสตริงมีสตริงย่อยหรือไม่ ในวิธีการ 'boost' นี้ เรายังใช้ฟังก์ชัน contains() อีกด้วย ดังนั้นเราจึงรวมไฟล์ส่วนหัว “boost/algorithm/string.hpp” พร้อมด้วยไฟล์ส่วนหัว “iostream” และ “string” ไว้ในโค้ดนี้ด้วย จากนั้นเราวาง “std” และเรียกใช้เมธอด main() ที่นี่
จากนั้นเราประกาศตัวแปรซึ่งเป็น “StringData1” และ “StringData2” ของประเภทข้อมูล “string” และเริ่มต้นข้อมูลสตริงที่นี่ ตัวแปร “c_result” ของประเภทข้อมูล “bool” เริ่มต้นได้ด้วย “boost::algorithm::contains()” และเราจะส่งผ่าน “StringData1” และ “StringData2” เข้าไปในฟังก์ชันนี้ นอกจากนี้ยังค้นหาสตริงย่อยในสตริงต้นฉบับและจัดเก็บผลลัพธ์บูลีนไว้ในตัวแปร “c_result”
ตอนนี้ เราวาง “c_result==1” ไว้ใน “if” ด้านล่าง หากค่าบูลีนของ 'c_result' คือ '1' คำสั่งที่อยู่หลัง 'if' จะปรากฏขึ้น มิฉะนั้น ระบบจะเลื่อนไปยังส่วน 'else' และข้ามคำสั่งที่อยู่หลัง 'if' และแสดงคำสั่งของส่วน 'else'
รหัส 5:
#รวม#รวม
#include
ใช้เนมสเปซมาตรฐาน -
ภายใน หลัก - - -
สตริง StringData1 - 'โปรแกรมแรกของฉัน' -
สตริง StringData2 - 'อันดับแรก' -
บูล c_result - เพิ่ม - อัลกอริทึม - ประกอบด้วย - สตริงข้อมูล1 - StringData2 - -
ถ้า - c_ผล - 1 -
-
ศาล - 'เชือก' - - - สตริงข้อมูล1 - - - ' ประกอบด้วย ' - StringData2 - สิ้นสุด -
-
อื่น
-
ศาล - 'คำที่ระบุไม่มีอยู่ในสตริง' -
-
กลับ 0 -
-
เอาท์พุท:
ตอนนี้พบสตริงย่อยในสตริงดั้งเดิมซึ่งเราเห็นได้ในผลลัพธ์นี้
บทสรุป
เราได้สำรวจวิธีการ contains() ของภาษา C++ โดยละเอียด เรายังกล่าวถึงด้วยว่าฟังก์ชัน contains() มีเฉพาะใน “C+++ 23” เท่านั้น เราสำรวจว่าฟังก์ชัน contains() ช่วยในการค้นหาสตริงย่อยในสตริงต้นฉบับหรือไม่ หรือช่วยในการตรวจสอบว่าสตริงมีสตริงย่อยหรือไม่ และแสดงผลผลลัพธ์ตามนั้น