Ex.1 หาค่าจากข้อความ "Enjoys doing Python in Mindphp.com" โดยกำหนดดังตัวอย่าง
โค้ด: เลือกทั้งหมด
str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("in")
print "Result : Function index() =",str.index("ind")
ในตัวอย่างนี้จะสังเกตุว่ามีคำว่า "in" 3 ตำแหน่งคือ "doing" "in" "mindphp" เห็นไหมครับทั้งสามคำนี้มีคำว่า "in" อยู่ภายใน
*ในกรณีของ str.find ("in") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 9
>>>เพราะในระบบมันจะหาตัว"in"ที่ใกล้ที่สุดในกลุ่มข้อความนั้นจากซ้ายไปขวาซึ่งตัว "in"ที่ใกล้ที่สุดคือ "in" ที่อยู่ภายใน"doing" (การนับตำแหน่งจะเริ่มจาก 0 และนับการเว้นวรรคด้วย โดยจะนับตัวอักษรตัวแรกที่เราค้นหา ในที่นี้เราหาคำว่า "in" ตัวอักษรตัวแรกคือ "i")
*ทีนี้มาดูในส่วนของ str.index("ind") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 24
>>>ระบบจะหาคำว่า "ind" ที่มีอยู่ในประโยคก็คือ "Mindphp" โดย ind จะอยู่ที่ตำแหน่งที่ 24 (นับจากเหมือนกันแต่ผลลัพท์ต่างกันเพราะเรากำหนดเป็น "ind")
ความแตกต่างของ find() และ index()
-การแสดงค่าและหน้าที่จะคล้ายๆกันครับ แต่ว่าพอเวลาข้อมูลเป็นเท็จ (ไม่มีข้อความอยู่ในระบบที่หนด) เช่นเรากำหนดให้หา
Ex2. ลองเปลี่ยนจาก "in" และ "ind" เป็น "In" และ"Ind"
โค้ด: เลือกทั้งหมด
str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("In")
print "Result : Function index() =",str.index("Ind")
จะสังเกตุได้ว่า "In" และ "Ind" ข้อมูลเป็นเท็จเพราะเนื่องจากภาษาPythonนั้นซีเรียสกับตัวอักษรพิมเล็ก และพิมใหญ่จึงทำให้คำว่า "In" และ "Ind" ("I" พิมใหญ่)แสดงผลเป็นเท็จ โดยใน find() เมื่อเป็นเท็จจะแสดงค่าเป็น-1 แต่ index() เมื่อเป็นเท็จจะแสดงค่าว่างและขึ้น error