在 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'))
我们可以使用 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()
函数,如上例所示,打印字符串中的换行符,并确保使用正确的换行符进行拆分。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。