
เขียนโปรแกรมภาษา 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