Python tách chuỗi theo dòng mới

con trăn

lập trình

chuỗi

tách ra

Mới

dòng

3 nữa

[Chỉnh sửa]

VN

Python - tách chuỗi theo ký tự dòng mới

2 người đóng góp

7 đóng góp

0 thảo luận

0 điểm

Được tạo bởi

marc_so

504

Trong bài viết này, chúng tôi xin hướng dẫn bạn cách tách chuỗi theo ký tự dòng mới trong Python

giải pháp nhanh chóng

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']

 

Ví dụ thực tế

Trong ví dụ này, chúng tôi tách chuỗi

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']
9 thành danh sách
['split', 'this', 'text']
0 bằng cách sử dụng phương pháp
['split', 'this', 'text']
1

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']

đầu ra

['split', 'this', 'text']

📜Vấn đề. Cho một chuỗi. Bạn sẽ chia chuỗi thành một danh sách các chuỗi con như thế nào và giữ nguyên ký tự dòng mới?

Ví dụ. Hãy xem xét một trường hợp thử nghiệm để hiểu vấn đề đã cho

# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']

Không dài dòng nữa, bây giờ chúng ta hãy đi sâu vào các giải pháp khác nhau cho vấn đề đã cho

Phương pháp 1. Sử dụng đường phân chia [Đúng]

Cách tiếp cận. Phương thức 

['split', 'this', 'text']
2 được sử dụng để tách chuỗi ở tất cả các lần ngắt dòng. Nếu bạn chuyển
['split', 'this', 'text']
3 làm tham số trong phương thức splitlines, thì danh sách kết quả bao gồm ký tự xuống dòng cùng với chuỗi con/mục

Mã số

text = """Sun
Earth
Moon"""
print[text.splitlines[True]]

# OUTPUT: ['Sun\n', 'Earth\n', 'Moon']

🌎Hướng dẫn liên quan. Đường phân chia chuỗi Python[]

Phương pháp 2. sử dụng biểu thức chính quy

Phương thức 

# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
0 khớp tất cả các lần xuất hiện của 
# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
1 trong 
# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
2 và chia chuỗi dọc theo các kết quả phù hợp, dẫn đến một danh sách các chuỗi giữa các kết quả phù hợp. Ví dụ: 
# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
3 kết quả trong danh sách chuỗi 
# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
4. Đọc thêm tại đây – Python Regex Split

Tiếp cận. Sử dụng

# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
5 trong đó dấu ngoặc ___36 đảm bảo dấu phân cách/dấu phân cách cũng được lưu trữ trong danh sách cùng với các ký tự từ và
# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
7 là một chuỗi đặc biệt trả về kết quả khớp khi không tìm thấy bất kỳ ký tự từ nào trong chuỗi đã cho. Ở đây nó được sử dụng để tìm các dấu phân cách trong khi tách chuỗi

Mã số

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']
3

Ghi chú. Thay vì “

# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
7”, bạn có thể tự do sử dụng bất kỳ biểu thức nào khác phù hợp với nhu cầu của mình, tuy nhiên, hãy đảm bảo đặt nó trong ngoặc để đảm bảo rằng các ký tự xuống dòng [dấu phân cách] cũng được bao gồm

Trong trường hợp bạn không muốn bao gồm các dấu phân cách dưới dạng các mục độc lập, thay vào đó, bạn muốn bao gồm chúng cùng với các chuỗi con/mục được phân tách, thì bạn có thể chỉ cần tách chuỗi đã cho bằng cách sử dụng “\n” làm dấu phân cách rồi nối thêm hoặc nối . Đây là những gì bạn có thể làm. -

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']
5

Bạn có muốn làm chủ siêu năng lực regex không? . [1] nghiên cứu một chương sách, [2] giải câu đố mật mã và [3] xem video về chương giáo dục

Phương pháp 3. Sử dụng Danh sách hiểu

Cách tiếp cận. Sử dụng khả năng hiểu danh sách để phân tách chuỗi đã cho bằng cách sử dụng vòng lặp for và phương thức

# Input
text = """Sun
Earth
Moon"""

# Expected Output:
['Sun\n', 'Earth\n', 'Moon']
OR
['Sun', '\n', 'Earth', '\n', 'Moon']
9, đồng thời trả về mỗi chuỗi con dưới dạng một mục và nối dấu phân cách [“ký tự dòng mới” trong trường hợp này] cùng với mục. Lưu ý rằng danh sách kết quả sẽ có thêm ký tự “\n” ở cuối. Bạn có thể chỉ cần tách ký tự dòng mới này khỏi phần tử cuối cùng của danh sách

Mã số

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']
7

Nếu bạn muốn dấu phân cách là một mục độc lập trong danh sách thì hãy thực hiện biểu thức sau –

text = "split\nthis\ntext"

words = text.split['\n']
print[words]  # ['split', 'this', 'text']
8

Phần kết luận

Chúng tôi đã giải quyết thành công vấn đề đã cho bằng các cách tiếp cận khác nhau. Tôi hy vọng bài viết này đã giúp bạn trong hành trình viết mã Python của mình. Vui lòng đăng ký và theo dõi để biết thêm các bài viết thú vị

Python hạnh phúc. 🐍

Đọc liên quan.
⦿ Trăn. Tách chuỗi theo dòng mới
⦿ Cách tách chuỗi và giữ nguyên dấu phân cách?
⦿ Python. Tách Chuỗi thành Ký tự

Nhưng trước khi chúng ta tiếp tục, tôi rất vui được giới thiệu với bạn cuốn sách Python mới của tôi Python One-Liners [Amazon Link]

Nếu bạn thích một lớp lót, bạn sẽ YÊU cuốn sách. Nó sẽ dạy cho bạn mọi thứ cần biết về một dòng mã Python. Nhưng nó cũng là phần giới thiệu về khoa học máy tính, khoa học dữ liệu, máy học và thuật toán. Vũ trụ trong một dòng Python

Sách được phát hành năm 2020 với nhà xuất bản sách lập trình đẳng cấp thế giới NoStarch Press [San Francisco]

liên kết. https. //Không có tinh bột. com/pythononeliners

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Chủ Đề