Python字符串splitlines()

时间:2020-02-23 14:43:30  来源:igfitidea点击:

Python字符串splitlines()

Python字符串splitlines()函数返回字符串中的行列表。
除非我们提供keepends参数值作为True,否则行边界不包含在字符串中。

Python字符串splitlines()

下表显示了splitlines()函数将其视为行边界的字符。

CharacterDescription
\nLine Feed
\rCarriage Return
\r\nCarriage Return + Line Feed
\v or \x0bLine Tabulation (Python 3.2 onwards)
\f or \x0cForm Feed (Python 3.2 onwards)
\x1cFile Separator
\x1dGroup Separator
\x1eRecord Separator
\x85Next Line (C1 Control Code)
\u2028Line Separator
\u2029Paragraph Separator

Python字符串分成几行

我们来看一些splitlines()函数的示例。

s = 'Java\nPython\nAndroid'

lines = s.splitlines()
print(lines)

lines = s.splitlines(keepends=True)
print(lines)

输出:

['Java', 'Python', 'Android']
['Java\n', 'Python\n', 'Android']

让我们看一个结合了换行符和回车符的示例。

s = 'Java\n\n\n\nPython\n\r\nAndroid'  # \r\n is treated as a single line boundary
lines = s.splitlines()
print(lines)

lines = s.splitlines(keepends=True)
print(lines)

输出:

['Java', '', '', '', 'Python', '', 'Android']
['Java\n', '\n', '\n', '\n', 'Python\n', '\r\n', 'Android']

如果您对splitlines()函数的输出感到困惑,请使用keepends作为True对其进行测试,以了解如何执行拆分。

最后,我们来看一些使用不同分隔符的示例。

s = 'A\tB\vC\fD'
lines = s.splitlines()
print(lines)

lines = s.splitlines(keepends=True)
print(lines)

s = 'A\x1cB\x1dC\x1eD\x85E\u2028F\u2029G'
lines = s.splitlines()
print(lines)

lines = s.splitlines(keepends=True)
print(lines)

输出:

['A\tB', 'C', 'D']
['A\tB\x0b', 'C\x0c', 'D']
['A', 'B', 'C', 'D', 'E', 'F', 'G']
['A\x1c', 'B\x1d', 'C\x1e', 'D\x85', 'E\u2028', 'F\u2029', 'G']

Python字符串split()vs splitlines()

  • 我们可以在split()函数中指定分隔符,splitlines()仅用于将字符串拆分为行列表。

  • split()和splitlines()函数的工作方式略有不同。
    让我们来看一些例子:
    输出:
    因此,使用换行符作为分隔符,split()返回列表中的空字符串,而splitlines()返回空列表。