Phương thức split[] trong Python trả về danh sách các từ trong chuỗi/dòng, được phân tách bằng chuỗi phân cách. Phương thức này sẽ trả về một hoặc nhiều chuỗi mới. Tất cả các chuỗi con được trả về trong kiểu dữ liệu danh sách
cú pháp
Tham sốMô tảdấu phân cáchLà một dấu phân cách. Chuỗi phân tách tại dấu phân cách được chỉ định này. Nếu không được cung cấp thì bất kỳ khoảng trắng nào cũng là dấu phân cách. maxsplitIt là một số, cho biết chúng tôi chia chuỗi thành số lần tối đa được cung cấp. Nếu nó không được cung cấp thì không có giới hạn. returnThe split[] ngắt chuỗi tại dấu tách và trả về danh sách các chuỗiNếu không có dấu tách nào được xác định khi bạn gọi hàm, khoảng trắng sẽ được sử dụng theo mặc định. Nói một cách đơn giản hơn, dấu phân cách là một ký tự xác định sẽ được đặt giữa mỗi biến. Hành vi phân tách trên một chuỗi rỗng phụ thuộc vào giá trị của sep. Nếu sep không được chỉ định hoặc được chỉ định là Không, kết quả sẽ là một danh sách trống. Nếu sep được chỉ định là một chuỗi bất kỳ, kết quả sẽ là một danh sách chứa một phần tử là một chuỗi rỗng
Tách chuỗi theo không gian
Phương thức split[] trong Python không có đối số phân tách trên khoảng trắng
thí dụ
đầu ra
Chia tách trong lần xuất hiện đầu tiên
Trong ví dụ sau, nó sẽ chỉ chia theo 2 khoảng trắng đầu tiên
thí dụ
đầu ra
Tách các dòng từ một tệp văn bản trong Python
Chương trình Python sau đọc một tệp văn bản và chia nó thành các từ đơn lẻ trong python
thí dụ
Tách Chuỗi theo dòng mới [\n]
đầu ra
Tách chuỗi theo tab [\ t]
đầu ra
Tách chuỗi bằng dấu phẩy [,]
đầu ra
Tách chuỗi có nhiều dấu phân cách
Trong trường hợp này, Python sử dụng Biểu thức chính quy
thí dụ
đầu ra
Tách một chuỗi thành một danh sách
Chương trình Python sau tách một chuỗi thành Danh sách
thí dụ
đầu ra
tham số maxsplit
Tách chuỗi thành một danh sách có tối đa 2 mục
đầu ra
Trong chương trình trên, maxsplit là 2, hai chuỗi đầu tiên được tách ra và các chuỗi còn lại nằm trong cùng một chuỗi
Tách một chuỗi thành mảng các ký tự
đầu ra
Python split[] sử dụng chuỗi con
Trích xuất một chuỗi sau một chuỗi con cụ thể
Trong ví dụ trên, bạn có thể thấy hàm split[] trả về phần tiếp theo của chuỗi bằng một chuỗi con cụ thể
Tại đây, bạn có thể thấy hàm split[] trả về phần trước của chuỗi bằng cách sử dụng một chuỗi con cụ thể
Tìm kiếm một công việc Python?
Rất có thể bạn sẽ cần chứng minh rằng bạn biết cách làm việc với Python. Các câu hỏi phỏng vấn Python này được thiết kế đặc biệt để giúp bạn làm quen với bản chất của các câu hỏi mà bạn có thể gặp phải trong cuộc phỏng vấn về chủ đề Lập trình Python. Dưới đây là các câu hỏi Phỏng vấn Python mẫu mục tiêu hàng đầu và câu trả lời của chúng được cung cấp ngay bên dưới cho chúng. Những câu hỏi mẫu này được đóng khung bởi nhóm chuyên gia của chúng tôi, những người đào tạo về Python để cung cấp cho bạn ý tưởng về loại câu hỏi có thể được hỏi trong cuộc phỏng vấn
Phương thức chuỗi Python split[] trả về một danh sách tất cả các từ trong chuỗi, sử dụng str làm dấu phân tách [tách trên tất cả khoảng trắng nếu không được chỉ định], tùy chọn giới hạn số lần tách thành num
cú pháp
Sau đây là cú pháp của phương thức split[] −
str.split[str="", num=string.count[str]].
Thông số
str − Đây là bất kỳ dấu phân cách nào, theo mặc định nó là dấu cách
num - đây là số dòng trừ một
Giá trị trả về
Phương thức này trả về một danh sách các dòng
Thí dụ
Ví dụ sau minh họa cách sử dụng phương thức split[]
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]
Khi chúng tôi chạy chương trình trên, nó tạo ra kết quả sau -
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
Bài viết này mô tả cách tách chuỗi bằng dấu phân cách, ngắt dòng, biểu thức chính quy và số lượng ký tự trong Python
- Chia theo dấu phân cách.
2print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chỉ định dấu phân cách.
3print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chỉ định số lần chia tối đa.
4print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chỉ định dấu phân cách.
- Tách từ bên phải bởi dấu phân cách.
5print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chia theo ngắt dòng.
6print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chia theo regex.
7print[s_comma.split[',', 2]] # ['one', 'two', 'three,four,five']
- Chia theo nhiều dấu phân cách khác nhau
- Nối một danh sách các chuỗi
- Tách dựa trên số lượng ký tự. lát cắt
Xem bài viết sau để biết thêm thông tin về cách nối và trích xuất chuỗi
- Nối các chuỗi trong Python [toán tử +, nối, v.v. ]
- Trích xuất một chuỗi con từ một chuỗi trong Python [vị trí, biểu thức chính quy]
Liên kết được tài trợ
Chia theo dấu phân cách. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
Sử dụng phương pháp
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 để phân tách bằng dấu phân cách- str. split [] — Python 3. 7. 3 tài liệu
Nếu đối số bị bỏ qua, nó sẽ bị phân chia bởi khoảng trắng, chẳng hạn như dấu cách, dòng mới
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]10 và tab
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]11. Khoảng trắng liên tiếp được xử lý cùng nhau
Một danh sách các từ được trả về
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]3
nguồn. str_split_rsplit. py
Sử dụng
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]12, được mô tả bên dưới, để nối một danh sách thành một chuỗi
Chỉ định dấu phân cách. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
Chỉ định dấu phân cách cho tham số đầu tiên
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]7
nguồn. str_split_rsplit. py
Nếu bạn muốn chỉ định nhiều dấu phân cách, hãy sử dụng biểu thức chính quy như được mô tả sau
Chỉ định số lần chia tối đa. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
Chỉ định số lần phân tách tối đa cho tham số thứ hai
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4Nếu cho trước
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4, nhiều nhất, việc tách print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4 được thực hiệnprint[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
nguồn. str_split_rsplit. py
Ví dụ: rất hữu ích khi xóa dòng đầu tiên khỏi chuỗi
Nếu
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]19,
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']40, bạn có thể nhận danh sách các chuỗi được phân chia theo ký tự xuống dòng đầu tiên
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]10. Phần tử thứ hai
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']42 của danh sách này là một chuỗi không bao gồm dòng đầu tiên. Vì nó là phần tử cuối cùng nên nó có thể được chỉ định là
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']43
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]1
nguồn. str_split_rsplit. py
Tương tự, để xóa hai dòng đầu tiên
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']4
nguồn. str_split_rsplit. py
Tách từ bên phải bởi dấu phân cách. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 tách từ bên phải của chuỗi- str. rsplit[] — Python 3. 7. 3 tài liệu
Kết quả chỉ khác với
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 khi tham số thứ hai print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4 được đưa raTương tự như
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2, nếu bạn muốn xóa dòng cuối cùng, hãy sử dụng print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6nguồn. str_split_rsplit. py
Để xóa hai dòng cuối cùng
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7nguồn. str_split_rsplit. py
Chia theo ngắt dòng. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
Ngoài ra còn có một
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6 để phân tách theo ranh giới dòng- str. splitlines[] — Python 3. 7. 3 tài liệu
Như trong các ví dụ trước,
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 và print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 được phân tách theo mặc định với khoảng trắng bao gồm ngắt dòng và bạn cũng có thể chỉ định ngắt dòng với tham số print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3Tuy nhiên, thường tốt hơn là sử dụng
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6Ví dụ: chuỗi tách có chứa
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]10 [LF, được sử dụng trong Hệ điều hành Unix bao gồm Mac] và
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
67 [CR + LF, được sử dụng trong Hệ điều hành Windows]print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6nguồn. str_split_rsplit. py
Khi áp dụng
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2, theo mặc định, nó được phân chia không chỉ bởi dấu ngắt dòng mà còn bởi dấu cáchprint[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
8nguồn. str_split_rsplit. py
Vì chỉ có thể chỉ định một ký tự xuống dòng trong
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3, nên không thể tách nó ra nếu có các ký tự xuống dòng hỗn hợp. Nó cũng được chia ở cuối ký tự xuống dòngprint[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
0nguồn. str_split_rsplit. py
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6 phân tách ở các ký tự xuống dòng khác nhau nhưng không phân tách ở các khoảng trắng khác#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]70
nguồn. str_split_rsplit. py
Nếu đối số đầu tiên,
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
71, được đặt thành print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
72, thì kết quả sẽ bao gồm một ký tự xuống dòng ở cuối dòng#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]71
nguồn. str_split_rsplit. py
Xem bài viết sau để biết các thao tác khác với ngắt dòng
- Xử lý ngắt dòng [dòng mới] trong Python
Liên kết được tài trợ
Chia theo regex. print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 và print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
5 chỉ tách ra khi print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
3 khớp hoàn toànNếu bạn muốn tách một chuỗi khớp với biểu thức chính quy [regex] thay vì khớp hoàn hảo, hãy sử dụng
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
2 của mô-đun re- lại. split[] — Các phép toán biểu thức chính quy — Python 3. 7. 3 tài liệu
Trong
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7, chỉ định mẫu biểu thức chính quy trong tham số đầu tiên và chuỗi ký tự đích trong tham số thứ haiMột ví dụ về chia cho các số liên tiếp như sau
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]72
nguồn. str_re_split. py
Số lượng phân tách tối đa có thể được chỉ định trong tham số thứ ba,
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
4#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]73
nguồn. str_re_split. py
Chia theo nhiều dấu phân cách khác nhau
Hai điều sau đây rất hữu ích để ghi nhớ ngay cả khi bạn không quen thuộc với biểu thức chính quy
Kèm theo một chuỗi với
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
60 để khớp với bất kỳ ký tự đơn nào trong đó. Bạn có thể tách chuỗi theo nhiều ký tự khác nhau#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]74
nguồn. str_re_split. py
Nếu các mẫu được giới hạn bởi
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
61, thì nó khớp với bất kỳ mẫu nào. Tất nhiên, có thể sử dụng các ký tự đặc biệt của biểu thức chính quy cho mỗi mẫu, nhưng cũng không sao ngay cả khi chuỗi bình thường được chỉ định như vậy. Bạn có thể chia theo nhiều chuỗi khác nhau#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]75
nguồn. str_re_split. py
Nối một danh sách các chuỗi
Trong các ví dụ trước, bạn có thể tách chuỗi và lấy danh sách
Nếu bạn muốn nối một danh sách các chuỗi thành một chuỗi, hãy sử dụng phương thức chuỗi,
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]12
Gọi
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]12 từ
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
64 và chuyển danh sách các chuỗi được nối với đối số#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]76
nguồn. str_split_rsplit. py
Xem bài viết sau để biết chi tiết về nối chuỗi
- Nối các chuỗi trong Python [toán tử +, nối, v.v. ]
Tách dựa trên số lượng ký tự. lát cắt
Sử dụng slice để tách chuỗi dựa trên số lượng ký tự
- Cách cắt danh sách, chuỗi, tuple trong Python
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]77
nguồn. str_split_rsplit. py
Nó có thể được lấy dưới dạng một bộ hoặc được gán cho một biến tương ứng
- Nhiều bài tập trong Python. Gán nhiều giá trị hoặc cùng một giá trị cho nhiều biến
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]78
nguồn. str_split_rsplit. py
Chia thành ba
#!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split[ ] print str.split[' ', 1 ]79
nguồn. str_split_rsplit. py
Số lượng ký tự có thể được lấy bằng chức năng tích hợp sẵn
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
65. Nó cũng có thể được chia thành hai nửa bằng cách sử dụng này