Skip to content
หน้าแรก » เขียนโปรแกรมภาษา Python ตอนที่ 33 ค้นหาตำแหน่งของข้อความหรืออักขระใน String ด้วยเมธอด rfind()

เขียนโปรแกรมภาษา Python ตอนที่ 33 ค้นหาตำแหน่งของข้อความหรืออักขระใน String ด้วยเมธอด rfind()

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

เขียนโปรแกรมภาษา Python ตอนที่ 33 ค้นหาตำแหน่งของข้อความหรืออักขระใน String ด้วยเมธอด rfind()

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

การใช้งานเมธอด rfind()

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

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

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

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

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

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

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

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

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

ถ้าไม่เจอคำที่ใช้ค้นหาในสตริง จะคืนค่าเป็ฯ -1

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

print(a.rfind('DCRUB', 5, 30)) # -1
  • ค้นหาคำว่า “DCRUB” ในสตริง ซึ่งไม่มีอยู่จริง จึงได้ผลลัพธ์เป็น -1