Tìm từ trong chuỗi Python
Cách đơn giản nhất để kiểm tra xem một chuỗi có chứa chuỗi con hay không trong Python là sử dụng toán tử Show
phân biệt chữ hoa chữ thườngLưu ý rằng ví dụ trên phân biệt chữ hoa chữ thường nên các từ sẽ cần có cùng cách viết hoa để trả về
Tìm chỉ số của một chuỗi conĐể tìm chỉ mục của một chuỗi con trong một chuỗi, bạn có thể sử dụng phương thức 0. Điều này sẽ trả về giá trị chỉ mục bắt đầu của chuỗi con nếu nó được tìm thấy. Nếu không tìm thấy chuỗi con, nó sẽ trả về -1
Đếm chuỗi conBạn cũng có thể đếm các chuỗi con trong một chuỗi bằng phương pháp 1, phương thức này sẽ trả về số chuỗi con khớp. Ví dụ Hàm find() trả về số chỉ mục của lần xuất hiện đầu tiên của cụm từ tìm kiếm đã cho trong chuỗi đã chỉ định. Nếu chuỗi được chỉ định không chứa cụm từ tìm kiếm, hàm find() trả về -1 Một vài ví dụ nhanh Một ví dụ find() có tham số ví dụ rfindLần xuất hiện đầu tiên có nghĩa là nếu cụm từ tìm kiếm tồn tại hai lần trở lên trong chuỗi nguồn thì nó sẽ trả về chỉ mục thấp nhất; Nếu bạn muốn trả về chỉ số cao nhất của cụm từ tìm kiếm thì hãy sử dụng hàm rfind(). Xem ví dụ về rfind() ở phần sau hoặc bằng cách nhấp vào liên kết ở trên Cú pháp sử dụng phương thức findĐây là cách bạn có thể sử dụng phương thức find() chuỗi
Một vài điểm chính về phương pháp tìm là
Xem phần sau để biết cách sử dụng các phương thức find() và rfind của Python. Tôi sẽ trình bày một ví dụ về cách sử dụng toán tử in để tìm kiếm trong một chuỗi (ví dụ cuối cùng) Một ví dụ về hàm find() với các giá trị mặc địnhTrong ví dụ về phương thức find() này, không có giá trị nào được truyền trong phương thức find(). Vì vậy, các giá trị mặc định sẽ được sử dụng cho các chỉ số bắt đầu và kết thúc để cho biết chỉ số thấp nhất của chuỗi con đã cho Xem bản demo và mã trực tuyến1 2 3 4 5 6 7 8 9 10 11 12 13 #Bản demo của hàm find()
src_str = 'Kiểm tra xem chuỗi có chứa từ được yêu cầu không?'
sub_index = src_str. tìm('chứa')
print("Chuỗi nguồn. " ,src_str)
in("Vị trí của từ 'chứa'. ", sub_index) Điều gì xảy ra nếu chuỗi con xảy ra hai lần trở lên?Như đã đề cập trước đó, hàm find() sẽ trả về chỉ số thấp nhất nếu xuất hiện chuỗi con/thuật ngữ tìm kiếm là hai hoặc nhiều hơn trong chuỗi đã cho. Có một cái nhìn trong ví dụ này 1 2 3 4 5 6 7 8 9 10 11 src_str = 'Phương thức chuỗi tìm kiếm Python. Phương thức trả về chỉ số thấp nhất. '
sub_index = src_str. tìm('phương pháp')
print("Chuỗi nguồn. " ,src_str)
in("Chỉ mục của từ 'phương thức'. ", sub_index) Bạn đã thấy, chuỗi nguồn chứa từ 'phương thức' hai lần và phương thức tìm đã trả về chỉ mục của lần xuất hiện đầu tiên Một ví dụ nếu chuỗi con không tồn tạiXem giá trị trả về nếu không tìm thấy chuỗi con tìm kiếm đã cho trong chuỗi nguồn. Vì vậy, chức năng in được sử dụng để lấy chuỗi con do người dùng nhập. Chuỗi con đã nhập được kiểm tra đối chiếu với chuỗi nguồn bằng cách sử dụng phương thức find() Xem bản demo và mã trực tuyến1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #Bản demo của hàm find() với đầu vào của người dùng
Your_sub = input("Nhập chuỗi con vào)
src_str = 'Hãy cho chúng tôi xem chuỗi này có chứa cụm từ tìm kiếm mà bạn đã nhập hay không?'
sub_index = src_str. tìm(Your_sub)
print("Chuỗi nguồn. " ,src_str)
in("Chỉ mục của từ '" ,Your_sub ,"' : " ,sub_index) Tôi đã chạy chương trình hai lần; . Lần thứ hai tôi nhập từ “thuật ngữ” và kết quả là 45. Hãy thử chạy chương trình này trong shell của bạn và xem nó hoạt động như thế nào Sử dụng ví dụ về tham số bắt đầu và kết thúcĐối với ví dụ này, thuật ngữ tìm kiếm hoặc chuỗi con được tìm kiếm trong chuỗi nguồn được cắt lát. Nghĩa là, chuỗi nguồn được cắt bằng cách sử dụng tham số bắt đầu và kết thúc. Đối với điều đó, chuỗi nguồn sau được tạo Xem bản demo và mã trực tuyến 1 2 3 4 5 6 7 8 9 10 11 src_str = 'Đây là Hướng dẫn Python. Trăn thật tuyệt. '
sub_index = src_str. tìm('Python',17,35)
in("Nguồn. " ,src_str)
in("Chỉ mục của từ 'Python'. ", sub_index) Trong chuỗi nguồn, từ “Python” xuất hiện đầu tiên ở vị trí thứ 10. Tuy nhiên, vì chúng tôi đã đưa ra chỉ số bắt đầu là 17 và kết thúc là 35, nên phương thức find trả về chỉ số của lần xuất hiện thứ hai là 27 Lấy ví dụ về chỉ số cao nhất bằng phương thức rfind()Sự khác biệt duy nhất giữa phương thức find() và rfind() là rfind() trả về vị trí chỉ số lớn nhất của chuỗi con. Phương thức rfind sử dụng cùng tham số và trả về số chỉ mục Xem minh họa bên dưới nơi một chuỗi có từ "is" xuất hiện hai lần. Phương thức rfind() được sử dụng để trả về số chỉ mục và xem kết quả Xem bản demo và mã trực tuyến1 2 3 4 5 6 7 8 9 10 11 src_str = 'Đây là phương thức rfind(). Trở thành Pythonic thật tuyệt. '
sub_index = src_str. rfind('is')
in("Nguồn. " ,src_str)
in("Chỉ số của từ 'là'. ", sub_index) Đầu ra hiển thị vị trí chỉ mục của “is” 39. cái này lớn nhất Một ví dụ về việc sử dụng toán tử inNhư tôi đã đề cập trong phần trên, trang web chính thức của Python khuyến nghị sử dụng phương thức find() để lấy vị trí của sub (chuỗi con/thuật ngữ tìm kiếm). Nếu bạn cần kiểm tra xem chuỗi con có phải là chuỗi con hay không trong chuỗi đã chỉ định thì hãy sử dụng toán tử in Sub trong str sẽ trả về true nếu chuỗi con được tìm thấy trong chuỗi đã cho. Sub là viết tắt của cụm từ tìm kiếm và str là chuỗi nguồn – nơi bạn muốn tìm sub |