เมื่อใช้สตริง จะสะดวกกว่าสำหรับเราที่จะใช้งานสตริงโดยใช้วิธีการบางอย่าง เรามาเลือกวิธีที่ใช้กันทั่วไปเพื่ออธิบายกันดีกว่า ฟังก์ชั่นจากสามมุมมอง: วิธีการทดสอบ วิธีการแก้ไข และวิธีการค้นหาและแทนที่
โดยปกติเราใช้เมธอด count() เพื่อนับจำนวนครั้งที่องค์ประกอบในสตริงปรากฏในสตริง หากไม่มีอยู่ ก็จะส่งกลับ 0 ถ้ามีอยู่ ก็จะส่งกลับจำนวนครั้งที่มีรูปแบบไวยากรณ์ เป็นดังนี้:
my_str.นับ(x)
my_str คือชื่อสตริงที่เราต้องการดึงข้อมูล และ x คืออักขระที่เราต้องการนับ
ดูตัวอย่างต่อไปนี้:
>>>my_str'www.dotcpp.com'>>>my_str.count('w')3 >>>>my_str.count('.')2>>>my_str.count('p')2 >>>> my_str.count('*')0
ตัวเลขที่ส่งคืนคือจำนวนครั้งที่อักขระปรากฏในสตริง เนื่องจากไม่มี '*' ค่าที่ส่งคืนจึงเป็น 0
เมธอด find จะดึงข้อมูลว่าองค์ประกอบที่ระบุอยู่ในสตริงหรือไม่ หากมีองค์ประกอบอยู่ ก็จะส่งคืนตำแหน่งดัชนีขององค์ประกอบที่ปรากฏครั้งแรก หากไม่มีอักขระนั้น ก็จะส่งกลับ -1 โครงสร้างไวยากรณ์ของมันคือ:
my_str.find(x)
my_str คือชื่อสตริงที่จะดึงข้อมูล และ x คือองค์ประกอบที่เราต้องการ
ดูตัวอย่างต่อไปนี้:
>>>my_str'www.dotcpp.com'>>>my_str.find('w')#ค้นหาตัวละคร w0>>>my_str.find('p')#ค้นหาตัวละคร p8>>>my_str.find( 'm ')#Find ตัวละคร m13>>>my_str.find('*')#Find ตัวละคร * เนื่องจาก * ไม่มีอยู่และส่งกลับ -1-1
นอกจากนี้เรายังสามารถใช้คีย์เวิร์ดเพื่อสอบถามว่ามีอักขระที่ระบุอยู่ในสตริงที่ระบุหรือไม่ หากมีอักขระที่ระบุในสตริงก็จะส่งคืน True หากไม่มีก็จะส่งคืน False
ดูตัวอย่างต่อไปนี้:
>>>my_str'www.dotcpp.com'>>>'p'inmy_strTrue>>>'w'inmy_strTrue>>>'.'inmy_strTrue>>>'*'inmy_strFalse
อย่างไรก็ตาม วิธีนี้สามารถรู้ได้เพียงว่าองค์ประกอบที่เราต้องการเข้าถึงนั้นมีอยู่หรือไม่ แต่ไม่สามารถรับตำแหน่งขององค์ประกอบนั้นได้ คุณสามารถเลือกวิธีของคุณเองในการแก้ปัญหาในระหว่างกระบวนการเรียนรู้
วิธีการindex()จะคล้ายกับวิธีการfind() เมื่อดึงข้อมูลอักขระที่ระบุแล้วindex()วิธีการก็จะส่งคืนตำแหน่งดัชนีที่อักขระปรากฏขึ้นครั้งแรกอย่างไรก็ตามหากไม่สามารถดึงข้อมูลได้จะมีข้อยกเว้น โยน รูปแบบไวยากรณ์สำหรับ:
my_str.ดัชนี(x)
my_str คือชื่อสตริงที่จะดึงข้อมูล และ x คือองค์ประกอบที่จะค้นหา
ดูตัวอย่างต่อไปนี้:
>>>my_str='www.dotcpp.com'>>>my_str.index('w')0>>>my_str.index('o')5>>>my_str.index('*')Traceback(การโทรล่าสุดล่าสุด ):ไฟล์<stdin>,line1,ใน<โมดูล>ValueError:substringnotfound
หลังจากค้นหาองค์ประกอบที่มีอยู่แล้ว ตำแหน่งดัชนีในสตริงจะถูกส่งกลับ '*' สุดท้ายจะรายงานข้อผิดพลาดเนื่องจากไม่พบ
วิธีการทั้งสามข้างต้นเป็นรูปแบบที่ถูกละเว้นในเอกสารมาตรฐาน รูปแบบของพวกเขาคือ:
my_str.count(x[,เริ่มต้น[,สิ้นสุด]])my_str.find(x[,เริ่มต้น[,สิ้นสุด]])my_str.index(x[,เริ่มต้น[,สิ้นสุด]])
เมื่ออธิบายข้างต้น เราไม่ได้กล่าวถึงเนื้อหาในวงเล็บ เพราะในเอกสาร Python ''[]'' หมายความว่าส่วนนั้นสามารถละเว้นได้ ดังนั้นส่วนนี้สามารถละเว้นได้ แต่เมื่อเราใช้มัน เรายังคงสามารถใช้มันได้ start คือตำแหน่งเริ่มต้นของดัชนี ส่วน end คือตำแหน่งสิ้นสุดของดัชนี แต่ไม่รวมจุดสิ้นสุด
เรามาอธิบายรูปแบบมาตรฐานผ่านตัวอย่าง:
>>>my_str='www.dotcpp.com'>>>my_str.index('o',6,13)#ค้นหา o12 ระหว่าง 6-12 >>>>my_str.count('w',0,5 )# นับจำนวนครั้งที่มีอยู่ระหว่าง 0-4 3>>>my_str.find('c',3,9)#Find 77 ระหว่าง 3-8
การใช้รูปแบบมาตรฐานอาจดูซับซ้อนแต่ใช้งานได้สะดวกมาก