Làm cách nào để trích xuất mẫu từ chuỗi trong Python?

Đối với mỗi chuỗi chủ đề trong Sê-ri, hãy trích xuất các nhóm từ kết quả khớp đầu tiên của biểu thức chính quy

Parameterspat str

Mẫu biểu thức chính quy với các nhóm chụp

cờ int, mặc định 0 [không có cờ]

Cờ từ mô-đun

	>>> print[string[:7]]
	This is
8, e. g.
	>>> print[string[:7]]
	This is
9, sửa đổi khớp biểu thức chính quy cho những thứ như chữ hoa, dấu cách, v.v. Để biết thêm chi tiết, xem

mở rộng bool, mặc định Đúng

Nếu Đúng, hãy trả lại DataFrame với một cột cho mỗi nhóm chụp. Nếu Sai, hãy trả về Sê-ri/Chỉ mục nếu có một nhóm chụp hoặc DataFrame nếu có nhiều nhóm chụp

ReturnsDataFrame hoặc Sê-ri hoặc Chỉ mục

Khung dữ liệu có một hàng cho mỗi chuỗi chủ đề và một cột cho mỗi nhóm. Bất kỳ tên nhóm chụp nào trong pat biểu thức chính quy sẽ được sử dụng cho tên cột; . dtype của mỗi cột kết quả luôn là đối tượng, ngay cả khi không tìm thấy kết quả phù hợp. Nếu

	>>> print[string[:7]]
	This is
0 và pat chỉ có một nhóm chụp, thì trả về Sê-ri [nếu chủ đề là Sê-ri] hoặc Chỉ mục [nếu chủ đề là Chỉ mục]

Học bất cứ điều gì mới có thể là một thách thức. Càng làm việc với Python, bạn càng nhận thấy tần suất xuất hiện của các chuỗi. Thao tác chuỗi trong Python là một kỹ năng quan trọng. Trong bài viết này, chúng tôi giới thiệu cho bạn cách tạo chuỗi con của chuỗi trong Python

Python là một ngôn ngữ tuyệt vời để học, đặc biệt nếu bạn là người mới bắt đầu, như chúng ta sẽ thảo luận trong bài viết này. Chúng tôi thậm chí còn có một khóa học về cách làm việc với các chuỗi trong Python. Nó chứa các bài tập tương tác được thiết kế để bắt đầu từ cấp độ cơ bản và dạy cho bạn tất cả những gì bạn cần biết về loại dữ liệu quan trọng này. Khi bạn cảm thấy thoải mái khi làm việc với các chuỗi, bạn có thể giải quyết một số vấn đề thú vị về khoa học dữ liệu. Hãy xem khóa học giới thiệu về chủ đề đa dạng này

Cắt và tách chuỗi

Cách đầu tiên để lấy một chuỗi con của một chuỗi trong Python là cắt và tách. Hãy bắt đầu bằng cách xác định một chuỗi, sau đó chuyển sang một vài ví dụ

>>> string = 'This is a sentence. Here is 1 number.'

Bạn có thể chia chuỗi này thành các chuỗi con, mỗi chuỗi có kiểu dữ liệu

	>>> print[string[:7]]
	This is
3. Ngay cả khi chuỗi của bạn là một số, nó vẫn thuộc loại dữ liệu này. Bạn có thể kiểm tra điều này bằng chức năng
	>>> print[string[:7]]
	This is
4 tích hợp. Các số cũng có thể thuộc các loại khác, bao gồm cả loại dữ liệu
	>>> print[string[:7]]
	This is
5 mà chúng tôi thảo luận ở đây

Giống như mảng và danh sách trong Python, các chuỗi có thể được cắt bằng cách chỉ định chỉ mục bắt đầu và chỉ mục kết thúc, bên trong dấu ngoặc vuông và được phân tách bằng dấu hai chấm. Điều này trả về một chuỗi con của chuỗi ban đầu

Hãy nhớ lập chỉ mục trong Python bắt đầu từ 0. Để lấy 7 ký tự đầu tiên từ chuỗi, chỉ cần làm như sau

	>>> print[string[:7]]
	This is

Lưu ý ở đây chúng tôi không chỉ định rõ ràng chỉ mục bắt đầu. Do đó, nó nhận giá trị mặc định là 0

Nhân tiện, nếu bạn muốn biết thêm thông tin về hàm

	>>> print[string[:7]]
	This is
6, hãy xem bài viết này. Có thể có nhiều thứ hơn bạn nhận ra

Chúng ta cũng có thể lập chỉ mục liên quan đến phần cuối của chuỗi bằng cách chỉ định giá trị bắt đầu âm

	>>> print[string[-7:]]
	number.

Vì chúng ta không chỉ định giá trị cuối nên nó lấy giá trị mặc định là

	>>> print[string[:7]]
	This is
7. Nếu bạn biết chỉ mục bắt đầu và kết thúc của một từ cụ thể, bạn có thể trích xuất nó từ chuỗi như thế này

________số 8

Tuy nhiên, điều này không tối ưu để trích xuất các từ riêng lẻ từ một chuỗi vì nó yêu cầu biết trước các chỉ mục

Một tùy chọn khác để lấy một chuỗi con của chuỗi là chia nó thành các từ, điều này có thể được thực hiện bằng phương thức

	>>> print[string[:7]]
	This is
8. Điều này có hai đối số tùy chọn. một chuỗi xác định các ký tự sẽ phân tách tại [mặc định là bất kỳ khoảng trắng nào] và số lần phân tách tối đa [mặc định là -1, nghĩa là không có giới hạn]. Ví dụ: nếu chúng tôi muốn phân tách tại một khoảng trắng, bạn có thể thực hiện thao tác sau, thao tác này sẽ trả về danh sách các chuỗi

	>>> print[string[:7]]
	This is
0

Nhưng lưu ý rằng dấu chấm [ký tự điểm] được bao gồm ở cuối các từ “câu” và “số”. Chúng ta sẽ quay lại vấn đề này sau trong bài viết khi chúng ta xem xét các biểu thức chính quy

Có rất nhiều phương thức chuỗi tích hợp trong Python. Chúng cho phép bạn sửa đổi một chuỗi, kiểm tra các thuộc tính của nó hoặc tìm kiếm trong đó. Một phương thức hữu ích để tạo ra một chuỗi con phức tạp hơn của một chuỗi trong Python là phương thức

	>>> print[string[:7]]
	This is
9. Nó cần lặp lại các chuỗi và nối chúng. Đây là một ví dụ

	>>> print[string[:7]]
	This is
2

Với thủ thuật lập chỉ mục thông minh, điều này có thể được sử dụng để in một chuỗi con chứa mọi từ thứ hai từ bản gốc

	>>> print[string[:7]]
	This is
3

Vì đầu vào của phương thức

	>>> print[string[-7:]]
	number.
0 lấy một danh sách, bạn có thể hiểu danh sách để tạo một chuỗi con từ tất cả các từ có độ dài bằng 4 chẳng hạn. Đối với những bạn đang tìm kiếm một bài tập thử thách hơn, hãy thử điều này cho chính mình. Chúng tôi cũng sẽ chỉ cho bạn một phương pháp khác để thực hiện việc này ở phần sau của bài viết. Nếu bạn muốn biết cách ghi chuỗi vào tệp bằng Python, hãy xem bài viết này

Mô-đun phân tích cú pháp

Có một mô-đun Python ít được biết đến được gọi là phân tích cú pháp với chức năng tuyệt vời để tạo chuỗi con trong Python. Mô-đun này không đạt tiêu chuẩn với Python và cần được cài đặt riêng. Cách tốt nhất là chạy lệnh

	>>> print[string[-7:]]
	number.
1 từ thiết bị đầu cuối của bạn

Đây là cách lấy một chuỗi con bằng cách sử dụng hàm phân tích cú pháp, chấp nhận hai đối số

	>>> print[string[:7]]
	This is
6

Gọi phương thức

	>>> print[string[-7:]]
	number.
2 trên
	>>> print[string[-7:]]
	number.
3 trả về một bộ có các chuỗi con được trích xuất từ ​​đối số thứ hai ở vị trí của dấu ngoặc nhọn
	>>> print[string[-7:]]
	number.
4 trong đối số thứ nhất. Đối với những bạn quen thuộc với định dạng chuỗi, điều này có vẻ quen thuộc một cách đáng ngờ. Thật vậy, mô-đun phân tích cú pháp ngược lại với
	>>> print[string[-7:]]
	number.
5. Kiểm tra cái này, cái này ngược lại với đoạn mã trên

	>>> print[string[:7]]
	This is
1

Trong khi chúng ta đang nói về mô-đun phân tích cú pháp, thì cũng nên thảo luận về chức năng tìm kiếm, vì tìm kiếm là trường hợp sử dụng phổ biến khi làm việc với chuỗi. Đối số đầu tiên của tìm kiếm xác định những gì bạn đang tìm kiếm bằng cách chỉ định cụm từ tìm kiếm có dấu ngoặc nhọn. Thứ hai xác định nơi để tìm

Đây là một ví dụ

	>>> print[string[:7]]
	This is
2

Một lần nữa, gọi phương thức

	>>> print[string[-7:]]
	number.
2 trả về một bộ dữ liệu với kết quả. Nếu bạn muốn chỉ số bắt đầu và kết thúc của kết quả, hãy gọi phương thức spans. Sử dụng mô-đun phân tích cú pháp để tìm kiếm trong một chuỗi rất hay – cách bạn xác định những gì bạn đang tìm kiếm khá mạnh mẽ [tôi. e. , đối số đầu tiên]

Biểu thức chính quy

Mô-đun Python cuối cùng mà chúng tôi muốn thảo luận là re, viết tắt của “regex”, bản thân nó là viết tắt của “biểu thức chính quy. ” Biểu thức chính quy có thể hơi đáng sợ – chúng liên quan đến việc xác định các mẫu chuyên biệt cao và đôi khi phức tạp để tìm kiếm trong chuỗi

Bạn có thể sử dụng regex để trích xuất các chuỗi con trong Python. Chủ đề quá sâu để đề cập ở đây một cách toàn diện, vì vậy chúng tôi sẽ chỉ đề cập đến một số chức năng hữu ích và cung cấp cho bạn cảm nhận về cách xác định các mẫu tìm kiếm. Để biết thêm thông tin về mô-đun này và chức năng của nó, hãy xem

Hàm

	>>> print[string[-7:]]
	number.
7 nhận hai đối số bắt buộc. mô hình và chuỗi. Hãy bắt đầu bằng cách trích xuất tất cả các từ từ chuỗi chúng tôi đã sử dụng ở trên

	>>> print[string[:7]]
	This is
0

Mẫu

	>>> print[string[-7:]]
	number.
8 khớp với tất cả các chữ cái viết thường,
	>>> print[string[-7:]]
	number.
9 cho biết các từ có thể có độ dài bất kỳ và cờ cho bạn biết bỏ qua trường hợp này. So sánh kết quả này với kết quả chúng tôi nhận được ở trên bằng cách sử dụng
	>>> print[string[:7]]
	This is
8 và bạn nhận thấy dấu chấm không được bao gồm

Bây giờ, hãy trích xuất tất cả các số từ chuỗi

	>>> print[string[:7]]
	This is
1

>>> print[string[10:18]]
sentence
1 khớp với ranh giới ở đầu và cuối của mẫu,
>>> print[string[10:18]]
sentence
2 khớp với bất kỳ chữ số nào từ 0 đến 9 và một lần nữa,
	>>> print[string[-7:]]
	number.
9 cho biết các số có thể có độ dài bất kỳ. Ví dụ: ta tìm tất cả các từ có độ dài 4 ký tự như sau

	>>> print[string[:7]]
	This is
2

>>> print[string[10:18]]
sentence
4 khớp với bất kỳ từ nào và {4} xác định độ dài của các từ khớp. Để tạo chuỗi con, bạn chỉ cần sử dụng
	>>> print[string[:7]]
	This is
9 như chúng tôi đã làm ở trên. Đây là một cách tiếp cận thay thế cho cách hiểu danh sách mà chúng tôi đã đề cập trước đó, cũng có thể được sử dụng để tạo chuỗi con có tất cả các từ có độ dài 4

Có các chức năng khác trong mô-đun này đáng xem qua.

>>> print[string[10:18]]
sentence
6 có thể được sử dụng để xác định xem mẫu có khớp ở đầu chuỗi hay không và
>>> print[string[10:18]]
sentence
7 quét qua chuỗi để tìm bất kỳ vị trí nào có mẫu xảy ra

Kết thúc suy nghĩ về việc tạo chuỗi con trong Python

Trong bài viết này, chúng ta đã thảo luận về việc trích xuất và in các chuỗi con của chuỗi trong Python. Sử dụng điều này làm nền tảng để khám phá các chủ đề khác, chẳng hạn như lấy dữ liệu từ một trang web. Bạn có thể xác định mẫu biểu thức chính quy để trích xuất địa chỉ email từ chuỗi không?

Nếu bạn cũng làm việc nhiều với dữ liệu dạng bảng, chúng tôi có một bài viết hướng dẫn bạn cách in bảng đẹp trong Python. Dần dần thêm tất cả các kỹ năng này vào hộp công cụ của bạn sẽ biến bạn thành một lập trình viên lão luyện

Làm cách nào để trích xuất một mẫu từ một chuỗi trong Python bằng regex?

Các bước so khớp biểu thức chính quy .
Nhập mô-đun regex với nhập lại
Tạo một đối tượng Regex với re. chức năng biên dịch[]. .
Truyền chuỗi bạn muốn tìm kiếm vào phương thức search[] của đối tượng Regex. .
Gọi phương thức group[] của đối tượng Match để trả về một chuỗi văn bản khớp thực tế

Làm cách nào để trích xuất regex trong 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 để trích xuất từ ​​​​chuỗi bằng regex?

Cách trích xuất chuỗi con trong Excel bằng biểu thức chính quy [Regex] .
Chức năng trích xuất VBA RegEx. Trích xuất số từ chuỗi. Nhận tất cả các trận đấu. Nhận địa chỉ email từ chuỗi. Trích xuất tên miền email. .
NET RegEx Trích xuất chức năng. Trích xuất văn bản giữa hai ký tự. Trích xuất văn bản giữa hai chuỗi. Lấy tên miền từ URL

Cách tốt nhất để phân tích chuỗi và tìm mẫu trong Python là gì?

Cách dễ nhất để phân tách một chuỗi phức tạp là tổng quát hóa chuỗi thành một mẫu rồi viết một biểu thức chính quy mô tả mẫu đó . Có những giới hạn đối với các mẫu mà biểu thức chính quy có thể mô tả.

Chủ Đề