Python ตอนที่ 32 ค้นหาตำแหน่งของข้อความหรืออักขระใน String ด้วยเมธอด rindex()

เมธอด rindex() เป็นเมธอดของสตริง ใช้สำหรับค้นหาข้อความหรืออักขระในสตริง โดยถ้าเจอ จะคืนค่าเป็นตำแหน่งที่ค้นเจอข้อความหรืออักขระนั้นเป็นครั้งสุดท้ายในสตริง แต่ถ้าไม่เจอจะเกิดข้อผิดพลาดขึ้น

เมธอด rindex() มีรูปแบบการใช้งานดังนี้

string.rindex(value, start, end)
  • value คือข้อความหรืออักขระที่จะใช้สำหรับค้นหา (ต้องระบุ)
  • start คือตำแหน่งเริ่มต้นที่จะให้เริ่มค้นหา (ไม่ระบุก็ได้) ค่าตั้งต้นคือ 0
  • end คือตำแหน่งสุดท้ายที่จะให้ค้นหา (ไม่ระบุก็ได้) ค่าตั้งต้นคือตำแหน่งสุดท้ายในสตริง

ตัวอย่างการใช้งานเมธอด rindex()

ใช้งานเมธอด rindex() โดยไม่ระบุ start และ end

a = "I love Python. I love Python. I love Python."

print(a.rindex('Python')) # 37
  • ค้นหาคำว่า “Python” ในสตริง ซึ่งในสตริงมีคำว่า “Python” ปรากฏอยู่ 3 ครั้ง ผลลัพธ์จะเป็นตำแหน่งที่เจอคำที่กำหนดเป็นครั้งสุดท้าย นั่นคือ 37

ใช้งานเมธอด rindex() โดยระบุ start และ end

a = "I love Python. I love Python. I love Python."

print(a.rindex('Python', 5, 30)) # 22
  • ค้นหาคำว่า “Python” ในสตริง ซึ่งในสตริงมีคำว่า “Python” ปรากฏอยู่ 3 ครั้ง แต่เนื่องจากเราระบุให้ค้นหาจากตำแหน่งที่ 5 ถึงตำแหน่งที่ 30 เท่านั้น ผลลัพธ์จะเป็นตำแหน่งที่เจอคำที่กำหนดเป็นครั้งสุดท้าย (ไม่เกินตำแหน่งที่ 30) นั่นคือ 22

ถ้าไม่เจอผลลัพธ์จะเกิดข้อผิดพลาดขึ้น

a = "I love Python. I love Python. I love Python."

print(a.rindex('DCRUB', 5, 30))
  • ค้นหาคำว่า “DCRUB” ในสตริง ซึ่งไม่มีอยู่จริง ทำให้เกิดข้อผิดพลาดขึ้น ดังภาพ