Bạn có thể sử dụng nhiều dấu phân cách trong tách python không?

Có nhiều cách để bạn có thể tách một chuỗi hoặc chuỗi gồm nhiều dấu phân cách trong python. Cách tiếp cận dễ dàng và hiệu quả nhất là sử dụng phương thức split[], tuy nhiên, nó chỉ dùng để xử lý các trường hợp đơn giản

re.split[] is more flexible than the normal `split[]` method in handling complex string scenarios.

Voi lai. split[] bạn có thể chỉ định nhiều mẫu cho dấu tách. Như được hiển thị trong giải pháp, dấu phân cách là dấu gạch nối [-] hoặc khoảng trắng [ ] hoặc dấu phẩy [,] theo sau các giá trị. Tài liệu biểu thức chính quy có thể được tìm thấy ở đây

Bất cứ khi nào mẫu đó được tìm thấy, toàn bộ kết quả khớp sẽ trở thành dấu phân cách giữa các trường ở hai bên của kết quả khớp

Phương thức chuỗi

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
2 của Python cho phép một chuỗi dễ dàng được chia thành một danh sách dựa trên dấu phân cách. Mặc dù trong một số trường hợp, bạn có thể cần phân tách dựa trên không chỉ một mà nhiều giá trị dấu phân cách. Bài viết 101 nhanh này giới thiệu hai cách tiếp cận thuận tiện mà điều này có thể đạt được trong Python

Tách chuỗi với hai dấu phân cách trong Python

Giả sử chuỗi sau

text = "python is, an easy;language; to, learn."

Ví dụ của chúng tôi, chúng tôi cần tách nó bằng dấu chấm phẩy theo sau là khoảng trắng

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
3 hoặc bằng dấu phẩy theo sau là khoảng trắng
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
4. Trong trường hợp này, bất kỳ sự xuất hiện nào của dấu chấm phẩy hoặc dấu phẩy. e.
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
4 ,
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
3 không có dấu cách thì không cần quan tâm

Biểu thức chính quy

Mặc dù việc sử dụng các biểu thức chính quy thường bị phản đối do tính chất khá tốn kém của nó khi phân tích chuỗi, nhưng nó có thể được đảm bảo một cách an toàn trong tình huống như thế này

Sử dụng biểu thức cơ bản

Mô-đun tích hợp sẵn của Python

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
7 có một phương thức
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
2 mà chúng ta có thể sử dụng cho trường hợp này

Hãy sử dụng biểu thức chính quy a hoặc b cơ bản [

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
9] để phân tách nhiều dấu phân cách của chúng ta

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]

đầu ra

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
1

Như đã đề cập trên trang Wikipedia, Biểu thức chính quy sử dụng IEEE POSIX làm tiêu chuẩn cho cú pháp của nó. Bằng cách tham khảo tiêu chuẩn này, chúng tôi có thể quản lý một số cách bổ sung mà chúng tôi có thể thực hiện để viết một biểu thức chính quy phù hợp với trường hợp sử dụng của chúng tôi

Thay vì sử dụng dấu tách thanh [

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
10] để xác định dấu phân cách, chúng ta có thể đạt được kết quả tương tự bằng cách sử dụng cú pháp Phạm vi [
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
11] được cung cấp trong Biểu thức chính quy. Bạn có thể xác định phạm vi ký tự mà biểu thức chính quy có thể khớp bằng cách cung cấp chúng trong dấu ngoặc vuông

Do đó, khi chỉ định mẫu của biểu thức chính quy, chúng ta có thể chỉ cần cung cấp dấu chấm phẩy và dấu phẩy trong dấu ngoặc vuông và khoảng trắng bổ sung

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
12, điều này sẽ dẫn đến biểu thức chính quy được so khớp bởi các phần của chuỗi có chính xác [dấu chấm phẩy OR dấu phẩy] và một

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
5

Biến nó thành một chức năng

Biểu thức cơ bản được đề cập trước đó được giới hạn trong một tập hợp các dấu phân cách được mã hóa cứng. Điều này sau này có thể dẫn đến rắc rối khi sửa đổi dấu phân cách xảy ra và cũng hạn chế khả năng sử dụng lại của nó trên các phần khác của mã. Do đó, tốt hơn là sử dụng các phương pháp hay nhất để xem xét làm cho mã trở nên chung chung hơn và có thể tái sử dụng. Do đó, hãy viết mã logic đó cho một hàm Python để đảm bảo an toàn cho chúng ta

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
6

Sử dụng hàm chuỗi

Trong trường hợp bạn muốn hạn chế sử dụng Biểu thức chính quy hoặc không cần giới thiệu các mô-đun mới cho dự án chỉ vì mục đích tách chuỗi, bạn có thể sử dụng các phương thức

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
13 và
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
2 có trong chính mô-đun chuỗi theo một cách khó hiểu để

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
9

Trước hết, ở đây, chúng tôi thay thế tất cả các lần xuất hiện của dấu chấm phẩy theo sau là khoảng trắng

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
15 trong chuỗi bằng dấu phân cách khác của chúng tôi là dấu phẩy theo sau là khoảng trắng
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
16. Bằng cách này, chúng ta có thể giới hạn việc tách chuỗi chỉ bằng một dấu phân cách, đó là dấu phẩy theo sau bởi khoảng trắng
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
16 trong trường hợp này

Bây giờ chúng ta có thể tách chuỗi đã sửa đổi đó một cách an toàn bằng cách sử dụng hàm

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
2 đơn giản được cung cấp sẵn bởi mô-đun chuỗi Python để mang lại kết quả tương tự

Lưu ý rằng chúng tôi chưa nhập bất kỳ mô-đun mới nào vào mã lần này để đạt được kết quả

Tách chuỗi với nhiều dấu phân cách trong Python

Hãy xem xét các văn bản được đề cập dưới đây

text = "python is, an easy;language; to, learn."
4

Đối với ví dụ này, chúng ta cần tách nó trên tất cả các trường hợp văn bản có bất kỳ ký tự nào

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
19 theo sau là khoảng trắng

Biểu thức chính quy

Trong trường hợp này, chúng ta có thể dễ dàng thêm các dấu phân cách bổ sung khi xác định biểu thức chính quy của mình

text = "python is, an easy;language; to, learn."
6

đầu ra

text = "python is, an easy;language; to, learn."
7

như một chức năng

Cũng trong tình huống này, chúng ta có thể chỉ cần sử dụng cùng mã mà chúng ta đã sử dụng trước đó với hai dấu phân cách với một thay đổi đơn giản là thêm tất cả các dấu phân cách bổ sung vào biến

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
50

text = "python is, an easy;language; to, learn."
9

Sử dụng hàm chuỗi

Tương tự như cách chúng ta xử lý trước đây với hai dấu phân cách, chúng ta cũng có thể sử dụng các hàm

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
13 và
import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
2 để xử lý vấn đề này

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
0

đầu ra

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
1

Cần lưu ý rằng phương pháp này không được khuyến nghị khi được sử dụng cho số lượng dấu phân cách cao hơn, chẳng hạn như trong trường hợp này. Vì trong trường hợp này, phương thức chuỗi

import re

text = "python is, an easy;language; to, learn."
print[re.split['; |, ', text]]
13 sẽ phải được sử dụng nhiều lần để thực hiện nhiều lần duyệt trên chuỗi, nên cuối cùng nó sẽ gây ra các đột biến hiệu suất không mong muốn có thể dễ dàng tránh được bằng cách sử dụng Biểu thức chính quy

Split có thể có nhiều dấu phân cách Python không?

Tách chuỗi bằng nhiều dấu phân cách . Đối với điều này, chúng ta cần sử dụng mô-đun re của Python và nhập tệp re. tách [] chức năng. We can also specify multiple characters as separators. For this, we need to make use of the re module of Python and import the re. split[] function.

Split có thể có nhiều dấu phân cách không?

Phương thức phân tách có thể được chuyển qua một biểu thức chính quy chứa nhiều ký tự để phân tách chuỗi bằng nhiều dấu phân tách .

Split[] có thể nhận nhiều đối số không?

phương thức split[] chấp nhận hai đối số . Đối số tùy chọn đầu tiên là dấu tách, chỉ định loại dấu tách sẽ sử dụng để tách chuỗi. Nếu đối số này không được cung cấp, thì giá trị mặc định là bất kỳ khoảng trắng nào, nghĩa là chuỗi sẽ tách ra bất cứ khi nào.

Chủ Đề