Bạn có thể tách dòng trong Python không?

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ỗi

Nế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.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    2
    • Chỉ định dấu phân cách.
      print[s_comma.split[',', 2]]
      # ['one', 'two', 'three,four,five']
      
      3
    • Chỉ định số lần chia tối đa.
      print[s_comma.split[',', 2]]
      # ['one', 'two', 'three,four,five']
      
      4
  • 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
  • Chia theo ngắt dòng.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    6
  • Chia theo regex.
    print[s_comma.split[',', 2]]
    # ['one', 'two', 'three,four,five']
    
    7
    • 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

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

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

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']
4

Nế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ện

print[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']
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 ra

Tươ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']
5

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6

nguồn. str_split_rsplit. py

Để xóa hai dòng cuối cùng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
7

nguồn. str_split_rsplit. py

Chia theo ngắt dòng.
print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6

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']
3

Tuy nhiên, thường tốt hơn là sử dụng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
6

Ví 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']
6

nguồ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ách

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
8

nguồ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òng

print[s_comma.split[',', 2]]
# ['one', 'two', 'three,four,five']
0

nguồ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']
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àn

Nế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ứ hai

Mộ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

Chủ Đề