✨ Dòng phân tách trong Python:
Bạn đã thử sử dụng phương pháp
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
2 chưa ?:- Tài liệu Python
3 ở đây.>>> ''.splitlines[] [] >>> 'Line 1\n'.splitlines[] ['Line 1']
- Tài liệu Python
4 ở đây.>>> ''.splitlines[] [] >>> 'Line 1\n'.splitlines[] ['Line 1']
Từ các tài liệu:
5>>> ''.splitlines[] [] >>> 'Line 1\n'.splitlines[] ['Line 1']
Trả về một danh sách các dòng trong chuỗi, phá vỡ các ranh giới dòng. Các lần ngắt dòng không được bao gồm trong danh sách kết quả trừ khi
6 được đưa ra và đúng.>>> ''.splitlines[] [] >>> 'Line 1\n'.splitlines[] ['Line 1']
Ví dụ:
>>> 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]
['Line 1', '', 'Line 3', 'Line 4']
>>> 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[True]
['Line 1\n', '\n', 'Line 3\r', 'Line 4\r\n']
Những người phân định nào được xem xét?
Phương pháp này sử dụng phương pháp tiếp cận NewLines phổ quát để phân tách các dòng.
Sự khác biệt chính giữa Python
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
3 và Python >>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
4 là trước đây sử dụng phương pháp tiếp cận Newlines phổ quát để phân tách các dòng, do đó :
2 hoặc>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
3: Tabline Line [được thêm vào Python>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
4].>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
5 hoặc>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
6: Form Feed [được thêm vào Python>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
4].>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
8: Bộ phân cách tập tin.>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
9: phân tách nhóm.>>> ''.split['\n'] [''] >>> 'Line 1\n'.split['\n'] ['Line 1', '']
0: Bộ phân cách ghi.>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]] ['Line 1', '', 'Line 3', 'Line 4']
1: Dòng tiếp theo [Mã điều khiển C1].>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]] ['Line 1', '', 'Line 3', 'Line 4']
2: Dòng phân tách.>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]] ['Line 1', '', 'Line 3', 'Line 4']
3: phân tách đoạn văn.>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]] ['Line 1', '', 'Line 3', 'Line 4']
Splitlines vs split:
Không giống như
4 khi một chuỗi phân cách được đưa ra, phương thức này trả về một danh sách trống cho chuỗi trống và ngắt dòng đầu cuối không dẫn đến một dòng phụ:>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]] ['Line 1', '', 'Line 3', 'Line 4']
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
Trong khi
>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]]
['Line 1', '', 'Line 3', 'Line 4']
5 trả về:>>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
Loại bỏ khoảng trắng bổ sung:
Nếu bạn cũng cần loại bỏ khoảng trắng dẫn đầu hoặc dấu vết bổ sung, như không gian, bị bỏ qua bởi
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
2, bạn có thể sử dụng >>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
2 cùng với >>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]]
['Line 1', '', 'Line 3', 'Line 4']
8:>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]]
['Line 1', '', 'Line 3', 'Line 4']
Xóa các chuỗi trống ['']:
Cuối cùng, nếu bạn muốn lọc các chuỗi trống từ danh sách kết quả, bạn có thể sử dụng
>>> [str.strip[] for str in 'Line 1 \n \nLine 3 \rLine 4 \r\n'.splitlines[]]
['Line 1', '', 'Line 3', 'Line 4']
9:>>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
Nhận xét bổ sung về câu hỏi ban đầu:
Như lỗi bạn đã đăng chỉ ra và Burhan đề xuất, vấn đề là từ bản in. Có một câu hỏi liên quan về điều đó có thể hữu ích cho bạn: UnicodeEncodeError: 'Charmap' codec không thể mã hóa - bản đồ ký tự, chức năng in
Trong hướng dẫn này, chúng tôi sẽ xem xét cách chia một chuỗi thành một danh sách các chuỗi về sự xuất hiện của một nhân vật mới,
>>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
0 trong Python với sự trợ giúp của các ví dụ.Làm thế nào để chia một chuỗi trong Python?
Bạn có thể sử dụng hàm chuỗi Python
>>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
1 để chia chuỗi [bằng dấu phân cách] thành danh sách các chuỗi. Để phân chia một chuỗi theo ký tự Newline trong Python, hãy truyền ký tự Newline >>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
0 như một dấu phân cách cho hàm >>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
1.Sau đây là cú pháp -
# split string s by newline character s.split["\n"]
Nó trả về một danh sách các chuỗi do phân tách chuỗi ban đầu về sự xuất hiện của một dòng mới,
>>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
0.Hãy cùng nhìn vào một số ví dụ.
Chia chuỗi chia theo dòng mới
Ở đây, chúng tôi vượt qua một ký tự dòng mới,
>>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
0 làm dấu phân cách cho hàm >>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
1.# string with newline characters s = "You are\nMy Fire\nThe one\nDesire" # split string by newline ls = s.split["\n"] print[ls]
Output:
['You are', 'My Fire', 'The one', 'Desire']
Danh sách kết quả chứa các từ kết quả từ sự phân chia chuỗi gốc về các lần xuất hiện của một ký tự mới.
Sửa số lượng phân tách
Bạn cũng có thể chỉ định số lượng phân tách tối đa được thực hiện bằng tham số
>>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
7. Theo mặc định, chức năng chuỗi >>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
1 làm cho tất cả các chia tách có thể.Hãy để chỉ chia chuỗi ở trên thành hai phần khi xuất hiện một ký tự mới,
>>> ''.split['\n']
['']
>>> 'Line 1\n'.split['\n']
['Line 1', '']
0 bắt đầu từ bên trái. Để chia chuỗi thành hai phần, >>> # Python 2.X:
>>> filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]
['Line 1', 'Line 3', 'Line 4']
>>> # Python 3.X:
>>> list[filter[bool, 'Line 1\n\nLine 3\rLine 4\r\n'.splitlines[]]]
['Line 1', 'Line 3', 'Line 4']
7 phải là # split string s by newline character s.split["\n"]1, bởi vì chúng tôi chỉ tạo một phần phân chia dẫn đến hai chuỗi.
# string with newline characters s = "You are\nMy Fire\nThe one\nDesire" # split string by newline ls = s.split["\n", maxsplit=1] print[ls]
Output:
['You are', 'My Fire\nThe one\nDesire']
Bạn có thể thấy rằng danh sách kết quả chỉ có hai chuỗi.
Hãy cùng nhìn vào một ví dụ khác.
Hãy để phân chia chuỗi ban đầu thành ba phần, ở đây chúng tôi vượt qua
# split string s by newline character s.split["\n"]2.
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
0Output:
>>> ''.splitlines[]
[]
>>> 'Line 1\n'.splitlines[]
['Line 1']
1Danh sách kết quả chỉ có ba chuỗi.
Bạn cũng có thể quan tâm đến -
- Python - Chuỗi phân chia theo dấu gạch dưới
- Python - Xóa nhiều khoảng trống khỏi chuỗi
- Xóa các dòng khỏi chuỗi trong Python
Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.
Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.
Xem tất cả các bài viết