Tìm vị trí cuối cùng của một chuỗi con cho trước trong Python
Trong bài toán này, mình sẽ viết một chương trình Python để tìm vị trí cuối cùng của một xâu con cho trước trong một xâu đã cho. Chương trình sẽ trả về vị trí cuối cùng của xâu con trong xâu gốc.
Ta có thể sử dụng phương pháp tìm kiếm trong xâu (string search) để tìm vị trí cuối cùng của xâu con. Trong bài toán này, mình có thể sử dụng phương thức rfind() hoặc rindex() để thực hiện việc này.
Phương pháp rfind():
Phương thức rfind() tìm kiếm xâu con trong xâu gốc, bắt đầu từ cuối xâu và trả về vị trí cuối cùng của xâu con. Nếu xâu con không tồn tại trong xâu gốc, phương thức trả về -1.
Phương pháp rindex():
Phương thức rindex() tương tự như rfind(), tìm kiếm xâu con từ cuối xâu và trả về vị trí cuối cùng của xâu con. Tuy nhiên, nếu xâu con không tồn tại trong xâu gốc, rindex() sẽ gây ra ngoại lệ ValueError.
Trong trường hợp này, mình sẽ sử dụng phương thức rfind() để tìm vị trí cuối cùng của xâu con trong xâu đã cho.
Tìm vị trí cuối cùng của một xâu con trong một chuỗi trong Python
Dưới đây là chương trình Python để tìm vị trí cuối cùng của xâu con "Emma" trong một xâu đã cho:
def tim_vi_tri_cuoi_cung(xau_goc, xau_con): # Sử dụng rfind() để tìm vị trí cuối cùng của xâu con trong xâu gốc vi_tri_cuoi_cung = xau_goc.rfind(xau_con) return vi_tri_cuoi_cung # Hàm main để kiểm tra def main(): xau_goc = "Emma is a good girl. Emma loves playing." xau_con = "Emma" vi_tri_cuoi_cung = tim_vi_tri_cuoi_cung(xau_goc, xau_con) if vi_tri_cuoi_cung != -1: print(f"Vị trí cuối cùng của \"{xau_con}\" trong \"{xau_goc}\" là: {vi_tri_cuoi_cung}") else: print(f"\"{xau_con}\" không xuất hiện trong \"{xau_goc}\".") if __name__ == "__main__": main()
Giải thích kết quả:
- Chương trình đưa ra một xâu gốc là
xau_goc = "Emma is a good girl. Emma loves playing."
và xâu con là "Emma
". - Hàm
tim_vi_tri_cuoi_cung
được sử dụng để tìm vị trí cuối cùng của xâu con "Emma" trong xâu gốc. - Ta sử dụng phương thức
rfind()
để tìm vị trí cuối cùng của xâu con trong xâu gốc. Kết quả được lưu vào biếnvi_tri_cuoi_cung
. - Nếu xâu con "
Emma
" được tìm thấy trong xâu gốc, mình in ra vị trí cuối cùng của xâu con. Nếu xâu con không xuất hiện trong xâu gốc, mình in ra thông báo tương ứng.
Kết quả:
Vị trí cuối cùng của "Emma" trong "Emma is a good girl. Emma loves playing." là: 25
Trên đây là một giải pháp sử dụng Python để tìm vị trí cuối cùng của một xâu con trong một xâu đã cho. Hy vọng rằng blog này sẽ hữu ích cho bạn khi làm việc với các bài toán liên quan đến xâu ký tự trong Python. Chúc bạn thành công trong việc viết các chương trình xử lý xâu ký tự phức tạp hơn!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo một chuỗi gồm ký tự đầu tiên, giữa và cuối cùng trong Python
- Tạo một chuỗi gồm ba ký tự ở giữa trong Python
- Nối chuỗi mới vào giữa một chuỗi đã cho trong Python
- Tạo một chuỗi mới bao gồm các ký tự đầu tiên, giữa và cuối của mỗi chuỗi đầu vào trong Python
- Sắp xếp các ký tự chuỗi sao cho chữ thường đứng trước trong Python
- Đếm tất cả các chữ cái, chữ số và ký hiệu đặc biệt từ một chuỗi đã cho trong Python
- Tạo một chuỗi hỗn hợp sử dụng các quy tắc trong Python
- Kiểm tra cân bằng ký tự chuỗi trong Python
- Tìm tất cả các lần xuất hiện của một xâu con trong một xâu đã cho trong Python
- Tính tổng và trung bình cộng các chữ số có trong một xâu trong Python
- Viết chương trình đếm số lần xuất hiện của tất cả các ký tự trong một xâu trong Python
- Đảo ngược một xâu đã cho trong Python
- Tìm vị trí cuối cùng của một chuỗi con cho trước trong Python
- Tách một chuỗi trên dấu gạch nối trong Python
- Xóa chuỗi rỗng khỏi danh sách chuỗi trong Python
- Xóa các ký hiệu/dấu câu đặc biệt khỏi một chuỗi trong Python