在 Python 中按空行拆分文本

在 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()函数,如上例所示,打印字符串中的换行符,并确保使用正确的换行符进行拆分。

发表评论