Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tách chuỗi theo nhiều newline liên tiếp trong Python Regex

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

PatternHà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?\nTá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.split giữ 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).