Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Startswith Và Endswith: Hướng Dẫn Bước Đi Bước

Hàm startswith() của Python kiểm tra chuỗi có bắt đầu bằng chuỗi con chỉ định. endswith() kiểm tra chuỗi kết thúc bằng chuỗi con. Cả hai hàm trả về True hoặc False.


Thường khi làm việc với chuỗi khi lập trình, bạn muốn kiểm tra chuỗi có bắt đầu hoặc kết thúc bằng giá trị cụ thể không.

Ví dụ, nếu tạo chương trình thu thập số điện thoại người dùng, bạn muốn kiểm tra họ đã chỉ định mã quốc gia. Hoặc bạn tạo chương trình kiểm tra tên người dùng kết thúc bằng e cho khuyến mãi đặc biệt tại trung tâm game.

Đó là lúc hàm tích hợp startswith() và endswith() xuất hiện. startswith() và endswith() dùng xác định chuỗi có bắt đầu hoặc kết thúc bằng chuỗi con cụ thể.

Hướng dẫn này thảo luận cách dùng cả phương thức startswith() và endswith() kiểm tra chuỗi bắt đầu hoặc kết thúc bằng chuỗi con cụ thể. Chúng ta cũng làm ví dụ mỗi phương thức dùng trong chương trình.

Ôn Tập Chỉ Mục Chuỗi (String Index)

Trước khi nói startsWith và endsWith, hãy ôn lại kiến thức chỉ mục chuỗi Python.

Chuỗi là dãy ký tự như số, khoảng trắng, chữ, ký hiệu. Bạn truy cập phần khác nhau chuỗi giống như với danh sách.

Mỗi ký tự trong chuỗi có giá trị chỉ mục (index). Chỉ mục là vị trí ký tự trong chuỗi. Số chỉ mục bắt đầu từ 0. Ví dụ, chuỗi Python Substrings với số chỉ mục:

Python Substrings
012345678910111213141516

Ký tự đầu tiên là P chỉ mục 0. Ký tự cuối s chỉ mục 16. Vì mỗi ký tự có chỉ mục riêng, chúng ta thao tác chuỗi dựa trên vị trí chữ cái.

Python Startswith

Phương thức chuỗi startswith() kiểm tra chuỗi có bắt đầu bằng chuỗi con cụ thể. Nếu chuỗi bắt đầu bằng chuỗi con chỉ định, startswith() trả về True; ngược lại trả về False.

Cú pháp phương thức startswith() Python:

string_name.startswith(substring, start_pos, end_pos)

Phương thức startswith() nhận ba tham số:

  • substring là chuỗi kiểm tra trong chuỗi lớn (bắt buộc)
  • start_pos là vị trí chỉ mục bắt đầu tìm kiếm chuỗi con (tùy chọn)
  • end_pos là vị trí chỉ mục kết thúc tìm kiếm chuỗi con (tùy chọn)

Tham số substring phân biệt chữ hoa thường (case sensitive). Nếu tìm s trong chuỗi, chỉ tìm s thường. Muốn tìm S hoa, chỉ định ký tự đó. Nhớ vị trí chỉ mục Python bắt đầu từ 0, ảnh hưởng start_pos và end_pos.

Hãy đi qua ví dụ minh họa startswith().

Giả sử chúng ta điều hành trung tâm game chạy khuyến mãi. Mọi khách tên bắt đầu bằng J được 200 vé thêm cho 1000 vé thắng. Để đổi vé, khách quét thẻ game, chạy chương trình kiểm tra chữ cái đầu tên.

Mã kiểm tra chữ cái đầu tên khách bằng J:

customer_name = "John Milton"
print(customer_name.startswith("J"))

Mã trả về: True. Dòng đầu định nghĩa biến customer_name lưu tên khách. Sau đó, dùng startswith() kiểm tra biến customer_name có bắt đầu J không. Tên khách bắt đầu J, chương trình trả True.

Nếu không chỉ định start_pos hoặc end_pos, startswith() chỉ tìm chuỗi con ở đầu chuỗi.

Bây giờ, thay đổi khuyến mãi: chỉ người tên chứa s giữa chữ cái thứ 2 và 5 tên đầy đủ. Chúng ta kiểm tra tên đầy đủ khách chứa s giữa vị trí 2-5:

customer_name = "John Milton"
print(customer_name.startswith("s", 1, 5))

Mã trả về: False. Mã chỉ định start_pos và end_pos là 1 và 5. Điều này báo startswith() chỉ tìm chữ s giữa ký tự 2-5 trong chuỗi (chỉ mục 1-5).

Python Endswith

Phương thức định dạng chuỗi endswith() kiểm tra chuỗi kết thúc bằng giá trị cụ thể. endswith() hoạt động như startswith() nhưng tìm ở cuối chuỗi.

Cú pháp endswith():

string_name.endswith(substring, start_pos, end_pos)

Định nghĩa tham số giống startswith().

Hãy khám phá ví dụ endswith() trong Python. Giả sử điều hành hãng hàng không xử lý hoàn tiền thẻ tín dụng khách. Cần 4 số cuối thẻ để đối chiếu.

Ví dụ endswith() kiểm tra 4 số khách cho khớp file:

on_file_credit_card = '4242 4242 4242 4242'
matches = on_file_credit_card.endswith('4242')
print(matches)

Chương trình trả về: True. Khách cho số 4242. Dùng endswith() xác minh số khớp file. Thẻ file kết thúc 4242, chương trình trả True.

Chúng ta cũng dùng tham số tùy chọn start_pos và end_pos tìm chuỗi con tại vị trí chỉ mục.

Giả sử điều hành quán cà phê có chuỗi lưu mọi thứ khách đặt. Đầu bếp muốn biết đơn có Ham Sandwich không, biết độ dài chuỗi 24. 5 ký tự cuối chứa ORDER. Bỏ qua 5 ký tự đầu.

Tìm kiếm bằng mã:

order = "ORDER Latte Ham Sandwich"
includes_ham_sandwich = order.endswith("Ham Sandwich", 0, 19)
print(includes_ham_sandwich)

Mã trả về: True.

Ví dụ chỉ định Ham Sandwich làm substring.

Sau đó, chỉ định 0 làm start_pos vì dùng end_pos và start_pos không được để trống khi dùng end_pos. Chỉ định 19 làm end_pos vì 5 ký tự cuối là ORDER, ký tự trước là khoảng trắng.

Chuỗi kết thúc Ham Sandwich, chương trình trả True. Nếu không kết thúc Ham Sandwich, hậu tố trả False.

Python Endswith Với Danh Sách (List)

Thêm vào đó, endswith() nhận danh sách hoặc bộ làm tham số substring, cho phép kiểm tra chuỗi kết thúc bằng một trong nhiều chuỗi. Giả sử tạo chương trình kiểm tra tên file kết thúc .mp3 hoặc .mp4. Kiểm tra bằng mã:

potential_extensions = ['.mp3', '.mp4']
file_name = 'music.mp3'
print(file_name.endswith(potential_extensions))

Mã trả về: True. Ví dụ tạo mảng potential_extensions lưu đuôi file. Khai báo biến file_name lưu tên file kiểm tra đuôi.

Cuối cùng, dùng endswith() kiểm tra chuỗi kết thúc bằng đuôi trong potential_extensions. Tên file kết thúc .mp3, có trong danh sách, chương trình trả True.

Kết Luận

Phương thức startswith() và endswith() kiểm tra chuỗi Python bắt đầu hoặc kết thúc bằng chuỗi con cụ thể. Mỗi phương thức bao gồm tham số tùy chọn chỉ định nơi tìm kiếm bắt đầu và kết thúc trong chuỗi.

Hướng dẫn thảo luận cách dùng cả startswith() và endswith(), khám phá vài ví dụ mỗi phương thức. Bây giờ bạn sẵn sàng kiểm tra chuỗi bắt đầu/kết thúc bằng chuỗi con dùng startswith() và endswith() như chuyên gia.