在 Python 中按空行分割文本

要按空行拆分文本,请将字符串拆分为两个换行符,例如 my_str.split('\n\n') 用于 POSIX 编码文件, my_str.split('\r\n\r\n') 用于 Windows 编码文件。

my_str = """First line

Second line

Third line"""

# 👇️ 显示换行符
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'))

在 Python 中按空行分割文本

我们可以使用 repr() 函数打印字符串中的换行符。

换行符应该是:

  • \n 用于 POSIX 样式编码文件
  • \r\n 用于 Windows 风格的编码文件
  • \r 用于旧的 Mac 编码文件

一旦我们看到文本使用了哪些换行符,请拆分其中的 2 个。

my_str = """First line

Second line

Third line"""

# 👇️ 显示换行符
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 个参数:

  • separator 在每次出现分隔符时将字符串拆分为子字符串
  • maxsplit 最多完成最大拆分(可选)

如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。

如果在调用 split 后得到一个包含单个元素的列表,则在字符串中找不到我们使用的分隔符。

my_str = """First line

Second line

Third line"""

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

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 在 Python 中按空行分割文本