Làm thế nào để bạn tìm kiếm một từ trong một dòng trong python?

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

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

str. tìm [phụ [, bắt đầu [, kết thúc]]]

Một vài điểm chính về phương pháp tìm là

  • Bạn có thể chỉ định chỉ mục bắt đầu để bắt đầu tìm kiếm chuỗi đã cho
  • Chỉ số kết thúc cũng có thể được chỉ định
  • Giá trị mặc định cho tham số bắt đầu là 0 i. e. nó bắt đầu tìm kiếm chuỗi từ đầu
  • Giá trị mặc định của tham số kết thúc là độ dài của chuỗi i. e. cụm từ tìm kiếm đã cho sẽ được tìm kiếm từ chỉ mục bắt đầu đến cuối chuỗi
  • Bạn chỉ nên sử dụng phương thức tìm nếu cụm từ tìm kiếm/vị trí chuỗi con được yêu cầu
  • Bạn nên sử dụng toán tử in để biết chuỗi con có phải là chuỗi con hay không

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 định

Trong 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ến

1

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

Xem bản demo và mã trực tuyến

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 pháp'. ", 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ại

Xem 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ến

1

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

“Đây là Hướng dẫn Python. Python thật tuyệt. ”

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. Python 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ến

1

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

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

Chủ Đề