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 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

Trong bài toán này, mình sẽ viết một chương trình 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 mà không phân biệt chữ hoa, chữ thường.

Mình sẽ duyệt qua xâu gốc và so sánh từng phần tử với xâu con theo cùng một trình tự, bỏ qua việc phân biệt chữ hoa và chữ thường. Khi tìm thấy một lần xuất hiện của xâu con, chúng ta sẽ lưu vị trí xuất hiện đó vào danh sách để cuối cùng in ra tất cả các vị trí.

Tìm tất cả các lần xuất hiện của một xâu con trong Python

Dưới đây là chương trình 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 (không phân biệt chữ hoa, chữ thường):

def tim_lan_xuat_hien(xau_goc, xau_con):
    # Chuyển đổi cả xâu gốc và xâu con thành chữ thường để bỏ qua phân biệt chữ hoa, chữ thường
    xau_goc_lower = xau_goc.lower()
    xau_con_lower = xau_con.lower()

    # Khởi tạo danh sách để lưu các vị trí xuất hiện của xâu con
    vi_tri_xuat_hien = []

    # Độ dài của xâu con
    do_dai_xau_con = len(xau_con)

    # Duyệt qua xâu gốc để tìm các lần xuất hiện của xâu con
    for i in range(len(xau_goc_lower) - do_dai_xau_con + 1):
        if xau_goc_lower[i:i + do_dai_xau_con] == xau_con_lower:
            vi_tri_xuat_hien.append(i)

    return vi_tri_xuat_hien

# Hàm main để kiểm tra
def main():
    xau_goc = input("Nhập xâu gốc: ")
    xau_con = "USA"

    ket_qua = tim_lan_xuat_hien(xau_goc, xau_con)
    if ket_qua:
        print(f"Các lần xuất hiện của \"{xau_con}\" trong \"{xau_goc}\" (không phân biệt chữ hoa, chữ thường):")
        print(ket_qua)
    else:
        print(f"Không tìm thấy lần xuất hiện nào của \"{xau_con}\" trong \"{xau_goc}\" (không phân biệt chữ hoa, chữ thường).")

if __name__ == "__main__":
    main()

Giải thích kết quả:

  • Chương trình sẽ yêu cầu người dùng nhập xâu gốc và xâu con (trong trường hợp này, xâu con là "USA").
  • Hàm tim_lan_xuat_hien được sử dụng để tìm tất cả các lần xuất hiện của xâu con trong xâu gốc (không phân biệt chữ hoa, chữ thường).
  • Đầu tiên, mình chuyển đổi cả xâu gốc và xâu con thành chữ thường bằng cách sử dụng phương thức lower().
  • Sau đó, mình duyệt qua xâu gốc bằng vòng lặp for để tìm các lần xuất hiện của xâu con.
  • Khi tìm thấy một lần xuất hiện của xâu con, chúng ta lưu vị trí xuất hiện đó vào danh sách vi_tri_xuat_hien.
  • Cuối cùng, mình in ra danh sách các vị trí xuất hiện của xâu con.

Ví dụ:

Nhập:

Nhập xâu gốc: Welcome to USA. USA is a beautiful country.

Kết quả:

Các lần xuất hiện của "USA" trong "Welcome to USA. USA is a beautiful country." (không phân biệt chữ hoa, chữ thường):
[11, 15]

Nhập:

Nhập xâu gốc: Hello, USA!

Kết quả:

Các lần xuất hiện của "USA" trong "Hello, USA!" (không phân biệt chữ hoa, chữ thường):
[7]

Trên đây là một giải pháp sử dụng 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 mà không phân biệt chữ hoa, chữ thường. 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:

Tìm hiểu Event loop trong Python

Tìm hiểu Event loop trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Sử dụng đa xử lý trong Python

Sử dụng đa xử lý trong Python

Cách sử dụng Thread-safe Queue trong Python

Cách sử dụng Thread-safe Queue trong Python

Sử dụng Semaphore trong Python

Sử dụng Semaphore trong Python

Cách dừng Luồng trong Python

Cách dừng Luồng trong Python

Cách sử dụng Semaphore trong Python

Cách sử dụng Semaphore trong Python

Đối tượng Threading Event trong Python

Đối tượng Threading Event trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Các luồng Daemon trong Python

Các luồng Daemon trong Python

Tìm hiểu về Multithreading trong Python

Tìm hiểu về Multithreading trong Python

Cách trả về giá trị từ một Thread trong Python

Cách trả về giá trị từ một Thread trong Python

Cách mở rộng Class Thread trong Python

Cách mở rộng Class Thread trong Python

Cách sử dụng module threading trong Python

Cách sử dụng module threading trong Python

Sự khác biệt giữa các Processes and Threads

Sự khác biệt giữa các Processes and Threads

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Top