BUILT-IN FUNCTIONS
DICTIONARY METHODS
LIST METHODS
SET METHODS
STRING METHODS
TUPLE METHODS
PYTHON FUNCTION
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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ến vi_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!

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top