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 về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Sử dụng Enum aliases và @enum.unique trong Python

Sử dụng Enum aliases và @enum.unique trong Python

Cách sử dụng Protocol trong Python

Cách sử dụng Protocol trong Python

Sử dụng __slots__ trong Python

Sử dụng __slots__ trong Python

Sử dụng super() trong Python

Sử dụng super() trong Python

Thuộc tính Delete trong Python

Thuộc tính Delete trong Python

Thuộc tính chỉ đọc trong Python

Thuộc tính chỉ đọc trong Python

Trình Decorator Property trong Python

Trình Decorator Property trong Python

Tìm hiểu về nạp chồng toán tử trong Python

Tìm hiểu về nạp chồng toán tử trong Python

Tìm hiểu về lớp Property trong Python

Tìm hiểu về lớp Property trong Python

Phương thức del trong Python

Phương thức del trong Python

Phương thức __bool__ trong Python

Phương thức __bool__ trong Python

Top