Cách trích xuất chuỗi từ dòng trong python?

Ví dụ, một biểu thức chính quy của Python có thể hướng dẫn chương trình tìm kiếm một chuỗi cho văn bản đã chỉ định và sau đó in kết quả. Một tập hợp các ký tự được gọi là “chuỗi. ” Cho dù chúng tôi đang làm việc trên phần mềm hay bất kỳ chương trình cạnh tranh nào khác, chúng tôi vẫn liên tục xử lý các chuỗi. Trong khi phát triển chương trình, đôi khi chúng ta cần truy cập các phần con của chuỗi. Chuỗi con là tên gọi của các phần con này. Chuỗi con là tập con của chuỗi. Chúng ta có thể dễ dàng đạt được điều này bằng cách sử dụng kỹ thuật cắt chuỗi hoặc biểu thức chính quy (RE)

Biểu thức bao gồm so khớp văn bản, phân nhánh, lặp lại và tạo mẫu. RE là một biểu thức chính quy hoặc RegEx được nhập qua mô-đun re trong Python. Một biểu thức chính quy được hỗ trợ bởi các thư viện Python. Mã định danh, Công cụ sửa đổi và Ký tự khoảng trắng được hỗ trợ bởi RegEx trong Python. Để sử dụng Biểu thức chính quy một cách tốt nhất, bạn phải nhập mô-đun re; . Chúng tôi đã cấu trúc phần này thành ba phần không liên quan chính xác với nhau và bạn có thể đi thẳng vào bất kỳ phần nào để bắt đầu, nhưng nếu bạn chưa quen với RegEx, chúng tôi khuyên bạn nên đọc nó theo thứ tự. Chúng tôi sẽ sử dụng các chức năng tìm kiếm, tìm kiếm và khớp trong mô-đun lại để giải quyết các vấn đề của chúng tôi trong suốt bài đăng này. Bắt đầu nào

ví dụ 1

Chúng tôi sẽ sử dụng một biểu thức chính quy trong Python để trích xuất chuỗi con trong ví dụ này. Chúng tôi sẽ sử dụng gói re tích hợp sẵn của Python cho các biểu thức chính quy. Hàm search() trong đoạn mã trước tìm phiên bản đầu tiên của mẫu được cung cấp dưới dạng đối số trong văn bản đã truyền. Kết quả là nó cung cấp cho bạn một đối tượng Match. Độ dài của chuỗi con, cũng như các chỉ mục bắt đầu và kết thúc của chuỗi con, đều là các đặc điểm của đối tượng Match xác định đầu ra. Cần lưu ý rằng một số thuộc tính có thể bị thiếu vì dir() gọi phương thức _dir_(), cung cấp danh sách tất cả các thuộc tính. Và kỹ thuật này có thể được thay đổi hoặc ghi đè

nhập lại
str = "123AAATorontoZZZ123"
thử .
    tìm thấy = lại . tìm kiếm('AAA (. +?) ZZZ', str) . nhóm(1)
    in( tìm thấy )
ngoại trừ Lỗi thuộc tính .
    vượt qua

Đây là kết quả khi chúng ta chạy đoạn mã trên

Cách trích xuất chuỗi từ dòng trong python?

ví dụ 2

Chúng tôi sẽ áp dụng lại. match() trong ví dụ tiếp theo của chúng ta. Trong Python, lại. hàm match() tìm kiếm và trả về lần xuất hiện đầu tiên của mẫu biểu thức chính quy. Trong Python, hàm Match này sẽ chỉ tìm kiếm một kết quả khớp ngay từ đầu. Nếu một kết quả phù hợp được phát hiện trong dòng đầu tiên, đối tượng phù hợp sẽ được trả về. Mặt khác, phương thức Match của Python RegEx trả về null nếu một kết quả khớp được tìm thấy thành công trong một dòng khác. Hãy xem xét đoạn mã Python sau đây để. hàm match(). Các biểu thức “w+” và “W” sẽ khớp với các từ bắt đầu bằng chữ cái “g” và bất kỳ từ nào không bắt đầu bằng chữ cái “g” sẽ bị bỏ qua. Trong Python này lại. match(), chúng ta sử dụng vòng lặp for để kiểm tra sự trùng khớp của từng phần tử trong danh sách hoặc văn bản

nhập lại
my_list = ["gese88 get",< "gese88 give", "gese Selenium"]
cho phần tử trong danh sách .
    z = re . khớp("(g \w+)\w(g\w+)", element)
nếu z.
    in(( z. nhóm()))

Đây là đầu ra của đoạn mã trên khi được thực thi

Cách trích xuất chuỗi từ dòng trong python?

ví dụ 3

Trong ví dụ cuối cùng của chúng tôi, chúng tôi sẽ sử dụng phương thức findall của Python. Findall() là một mô-đun tìm kiếm các trường hợp “tất cả” của một mẫu trong một đầu vào nhất định. Ngược lại, mô-đun search() trả về lần xuất hiện đầu tiên chỉ khớp với mẫu. findall() sẽ kiểm tra tất cả các dòng trong tệp và trả về mẫu không trùng lặp khớp với nhau trong một bước. Quan sát mã bên dưới và thấy rằng chúng tôi có một số địa chỉ e-mail và một số văn bản và chỉ muốn tìm nạp địa chỉ email, vì vậy chúng tôi sử dụng lại. hàm findall() cho mục đích này. Nó sẽ tìm kiếm toàn bộ danh sách cho các địa chỉ e-mail

nhập lại
danh sách = 'abc@google. com, xyz@hotmail. com, người dùng
email_ids = re . tìm thấy( r '[ . \. -]+@[ \w\. -]+', danh sách)
cho email trong email_ids.
    in(email)

Kết quả của đoạn mã trên như sau

Cách trích xuất chuỗi từ dòng trong python?

Phần kết luận

Biểu thức chính quy (RegEx) rất hữu ích để trích xuất các mẫu ký tự từ văn bản và xử lý chúng. Biểu thức chính quy rất nhanh và rất dễ sử dụng, đồng thời chúng giúp bạn tiết kiệm thời gian bằng cách tránh sử dụng các vòng lặp dư thừa trong ứng dụng của bạn để so khớp và truy xuất dữ liệu. Chúng tôi đã chỉ cho bạn cách sử dụng các biểu thức chính quy trong Python để giải quyết các tình huống cụ thể trong bài đăng này. Chúng tôi cũng đã bao gồm các ví dụ về việc sử dụng RegEx để giải quyết các thách thức xử lý văn bản khác nhau. Chúng tôi chủ yếu tập trung vào việc trích xuất các từ từ chuỗi trong bài đăng này

Làm cách nào để trích xuất dữ liệu từ chuỗi Python?

Nếu chúng ta muốn trích xuất dữ liệu từ một chuỗi trong Python, chúng ta có thể sử dụng phương thức findall() để trích xuất tất cả các chuỗi con khớp với biểu thức chính quy. .
Chúng tôi không muốn viết mã cho từng loại dòng, chia và cắt khác nhau cho từng dòng

Làm cách nào bạn có thể trích xuất một chuỗi con từ một chuỗi đã cho?

Bạn gọi phương thức Substring(Int32) để trích xuất một chuỗi con từ một chuỗi bắt đầu ở một vị trí ký tự đã chỉ định và kết thúc ở cuối . Vị trí ký tự bắt đầu dựa trên số không; .