在 Python 中按空行拆分文本
Split text by empty line in Python
要按空行拆分文本,请将字符串拆分为两个换行符,例如
my_str.split('\n\n')
,对于 POSIX 编码文件和my_str.split('\r\n\r\n')
Windows 编码文件。
主程序
my_str = """First line Second line Third line""" # 👇️ shows newline characters print(repr(my_str)) # 👉️ 'First line\n\nSecond line\n\nThird line' # 👇️ POSIX style print(my_str.split('\n\n')) # 👉️ ['First line', 'Second line', 'Third line'] # 👇️ Windows style print(my_str.split('\r\n\r\n'))
您可以使用该repr()
函数打印字符串中的换行符。
换行符应该是:
\n
对于 POSIX 样式编码的文件\r\n
适用于 Windows 风格的编码文件\r
对于旧的 Mac 编码文件
一旦你看到你的文本使用了哪些换行符,就将其中的两个分开。
主程序
my_str = """First line Second line Third line""" # 👇️ shows newline characters print(repr(my_str)) # 👉️ 'First line\n\nSecond line\n\nThird line' my_list = my_str.split('\n\n') print(my_list) # 👉️ ['First line', 'Second line', 'Third line'] for line in my_list: print(line)
我们必须拆分 2 个换行符,因为第一个换行符来自前一个非空行,第二个来自空行。
str.split ()
方法使用定界符将字符串拆分为子字符串列表。
该方法采用以下 2 个参数:
姓名 | 描述 |
---|---|
分隔器 | 在每次出现分隔符时将字符串拆分为子字符串 |
最大分裂 | 最多maxsplit 完成拆分(可选) |
如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。
如果您在调用 split 后得到一个包含单个元素的列表,那么您正在使用的分隔符在字符串中找不到。
主程序
my_str = """First line Second line Third line""" # 👇️ shows newline characters print(repr(my_str)) # 👉️ 'First line\n\nSecond line\n\nThird line' my_list = my_str.split('\r\n\r\n') print(my_list) # 👉️ ['First line\n\nSecond line\n\nThird line']
使用该repr()
函数,如上例所示,打印字符串中的换行符,并确保使用正确的换行符进行拆分。