Dùng re.split() với pattern [\n]+ hoặc \n+ để tách chuỗi tại các vị trí có một hoặc nhiều newline liên tiếp.
Ví dụ
import re
s = """I find
Tutorialspoint
useful"""
# Tách theo 1 hoặc nhiều newline
parts = re.split(r'\n+', s)
print(parts)
# ['I find ', 'Tutorialspoint ', 'useful']
Kết quả
['I find ', 'Tutorialspoint ', 'useful']
Các pattern tùy chọn
| Pattern | Hành vi |
|---|---|
\n+ | Tách tại 1+ newline (LF). Giữ CR (\r) nếu có. |
[\n\r]+ | Tách tại LF hoặc CR hoặc CRLF. |
\r?\n | Tách tại CRLF hoặc LF (chuẩn dòng). |
\n{2,} | Chỉ tách khi có 2+ newline liên tiếp (paragraph break). |
Ví dụ: Tách paragraph (2+ newline)
text = """Para 1 line 1
Para 1 line 2
Para 2 line 1
Para 2 line 2"""
paragraphs = re.split(r'\n{2,}', text)
print(paragraphs)
# ['Para 1 line 1\nPara 1 line 2', 'Para 2 line 1\nPara 2 line 2']
Lưu ý
re.splitgiữ delimiter nếu pattern có capturing group:re.split(r'(\n+)', s).str.splitlines()(builtin) thường đủ dùng cho tách dòng đơn giản.- Regex cần thiết khi logic tách phức tạp (ví dụ: bỏ qua newline trong quotes).