Hướng dẫn how do you search for a string in a line in python? - làm thế nào để bạn tìm kiếm một chuỗi trong một dòng trong python?

Lý do tại sao bạn luôn có True đã được đưa ra, vì vậy tôi sẽ chỉ đưa ra một đề xuất khác:

Nếu tệp của bạn không quá lớn, bạn có thể đọc nó thành một chuỗi và chỉ sử dụng nó [dễ dàng và thường nhanh hơn so với đọc và kiểm tra dòng trên mỗi dòng]:

with open['example.txt'] as f:
    if 'blabla' in f.read[]:
        print["true"]

Một thủ thuật khác: Bạn có thể giảm bớt các sự cố bộ nhớ có thể bằng cách sử dụng mmap.mmap[] để tạo đối tượng "giống như chuỗi" sử dụng tệp cơ bản [thay vì đọc toàn bộ tệp trong bộ nhớ]:

import mmap

with open['example.txt'] as f:
    s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
    if s.find['blabla'] != -1:
        print['true']

Lưu ý: Trong Python 3, MMAP hoạt động như các đối tượng bytearray chứ không phải là chuỗi, do đó, phần tiếp theo bạn tìm kiếm với find[] phải là một đối tượng

import mmap

with open['example.txt'] as f:
    s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
    if s.find['blabla'] != -1:
        print['true']
0 chứ không phải là một chuỗi, ví dụ.
import mmap

with open['example.txt'] as f:
    s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
    if s.find['blabla'] != -1:
        print['true']
1:

#!/usr/bin/env python3
import mmap

with open['example.txt', 'rb', 0] as file, \
     mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
    if s.find[b'blabla'] != -1:
        print['true']

Bạn cũng có thể sử dụng các biểu thức thông thường trên

import mmap

with open['example.txt'] as f:
    s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
    if s.find['blabla'] != -1:
        print['true']
2, ví dụ: tìm kiếm không nhạy cảm trường hợp:
import mmap

with open['example.txt'] as f:
    s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
    if s.find['blabla'] != -1:
        print['true']
3

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc returns the lowest index or first occurrence of the substring if it is found in a given string. If it is not found, then it returns -1.

    Bàn luậnstr_obj.find[sub, start, end]

    Parameters:  

    • Phương thức Find [] chuỗi Python trả về chỉ số thấp nhất hoặc lần xuất hiện đầu tiên của chuỗi con nếu nó được tìm thấy trong một chuỗi nhất định. Nếu nó không được tìm thấy, thì nó sẽ trả về -1. Substring that needs to be searched in the given string. 
    • Cú pháp: str_obj.find [phụ, bắt đầu, kết thúc] Starting position where the substring needs to be checked within the string. 
    • Sub: Subring cần được tìm kiếm trong chuỗi đã cho. & NBSP; End position is the index of the last value for the specified range. It is excluded while checking. 

    Bắt đầu [Tùy chọn]: Vị trí bắt đầu trong đó cần kiểm tra chuỗi con trong chuỗi. & NBSP;  Returns the lowest index of the substring if it is found in a given string. If it’s not found then it returns -1.

    Kết thúc [Tùy chọn]: Vị trí kết thúc là chỉ mục của giá trị cuối cùng cho phạm vi được chỉ định. Nó được loại trừ trong khi kiểm tra. & Nbsp;

    Python3

    Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    8
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    9
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    0

    Output:

    6

    Note:

    1. Ví dụ Phương thức Find [] Phương thức Python String []
    2. import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      4
      import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      5
      import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      6

    Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.

    Python3

    Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.

    Ví dụ Phương thức Find [] Phương thức Python String []

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    6
    0
    6
    1
    6
    2

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    4
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    5
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    6

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    6
    0
    Substring 'geeks' found at index: 0
    Substring 'for ' found at index: 6
    Doesn't contains given substring
    0
    6
    2

    Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.

    10
    -1
    -1
    6
    0
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    6
    0
    10
    -1
    -1
    6
    3
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    8

    10
    -1
    -1
    6
    5
    Substring 'geeks' found at index: 0
    Substring 'for ' found at index: 6
    Doesn't contains given substring
    9

    10
    -1
    -1
    6
    0
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    6
    0True0
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    8

    Output:

    Substring 'geeks' found at index: 0
    Substring 'for ' found at index: 6
    Doesn't contains given substring

    Phương thức find [] tương tự như index []. Sự khác biệt duy nhất là tìm [] return -1 nếu không tìm thấy chuỗi được tìm kiếm và index [] ném một ngoại lệ trong trường hợp này.

    Ví dụ 1: find [] không có đối số bắt đầu và kết thúc

    Python3

    Trả về: & nbsp; Trả về chỉ số thấp nhất của chuỗi con nếu được tìm thấy trong một chuỗi nhất định. Nếu nó không tìm thấy thì nó sẽ trả về -1.

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    8True7True8True9
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    0

    Ví dụ Phương thức Find [] Phương thức Python String []

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    8mmap.mmap[]9True8bytearray1True8bytearray3
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    0

    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    7
    import mmap
    
    with open['example.txt'] as f:
        s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
        if s.find['blabla'] != -1:
            print['true']
    
    8bytearray7True8bytearray1True8find[]1
    #!/usr/bin/env python3
    import mmap
    
    with open['example.txt', 'rb', 0] as file, \
         mmap.mmap[file.fileno[], 0, access=mmap.ACCESS_READ] as s:
        if s.find[b'blabla'] != -1:
            print['true']
    
    0

    Output:

    10
    -1
    -1
    6

    Explanation:

    • import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      4
      import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      5
      import mmap
      
      with open['example.txt'] as f:
          s = mmap.mmap[f.fileno[], 0, access=mmap.ACCESS_READ]
          if s.find['blabla'] != -1:
              print['true']
      
      6
    • Nếu các chỉ mục bắt đầu và kết thúc không được cung cấp thì theo mặc định, bạn sẽ mất 0 và độ dài-1 khi các chỉ mục bắt đầu và kết thúc trong đó các chỉ mục kết thúc không được bao gồm trong tìm kiếm của chúng tôi.
    • Phương thức find [] tương tự như index []. Sự khác biệt duy nhất là tìm [] return -1 nếu không tìm thấy chuỗi được tìm kiếm và index [] ném một ngoại lệ trong trường hợp này.
    • Ví dụ 1: find [] không có đối số bắt đầu và kết thúc

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

    Chuỗi tìm [] trong Python Phương thức Tìm [Truy vấn] được tích hợp theo Python tiêu chuẩn. Chỉ cần gọi phương thức trên đối tượng chuỗi để tìm kiếm một chuỗi, như vậy: obj. Tìm [Tìm kiếm tìm kiếm]. Phương thức Find [] tìm kiếm một chuỗi truy vấn và trả về vị trí ký tự nếu được tìm thấy.

    Làm thế nào để bạn chọn một chuỗi từ một dòng trong Python?

    Sử dụng với chức năng, mở tệp ở chế độ đọc. Chức năng sẽ tự động đóng tệp ..
    Đọc tất cả các văn bản từ tệp và lưu trữ trong một chuỗi ..
    Chia chuỗi thành các từ được phân tách bởi không gian ..
    Sử dụng ngẫu nhiên. Lựa chọn [] để chọn một từ hoặc chuỗi ..

    Làm thế nào để bạn tìm kiếm một chuỗi trong một văn bản trong Python?

    Cách tìm kiếm một chuỗi trong tệp văn bản..
    Mở tệp trong chế độ đọc.Mở tệp bằng cách đặt đường dẫn tệp và chế độ truy cập vào hàm Open [].....
    Đọc nội dung từ một tập tin.Sau khi mở, hãy đọc tất cả nội dung của một tệp bằng phương thức Read [].....
    Tìm kiếm một chuỗi trong một tệp.....
    Dòng in và số dòng ..

    Làm thế nào để bạn kiểm tra xem một chuỗi con có nằm trong một chuỗi trong Python không?

    Cách dễ nhất và hiệu quả nhất để xem liệu một chuỗi có chứa chuỗi con hay không bằng cách sử dụng nếu ... trong các câu lệnh, sẽ trả về đúng nếu phát hiện nền tảng.Ngoài ra, bằng cách sử dụng hàm find [], có thể nhận được chỉ mục rằng một chuỗi con bắt đầu tại hoặc -1 nếu Python không thể tìm thấy chuỗi con.using if ... in statements, which return True if the substring is detected. Alternatively, by using the find[] function, it's possible to get the index that a substring starts at, or -1 if Python can't find the substring.

    Bài Viết Liên Quan

    Chủ Đề