Python字符串splitlines()
时间:2020-02-23 14:43:30 来源:igfitidea点击:
Python字符串splitlines()
Python字符串splitlines()函数返回字符串中的行列表。
除非我们提供keepends
参数值作为True
,否则行边界不包含在字符串中。
Python字符串splitlines()
下表显示了splitlines()函数将其视为行边界的字符。
Character | Description |
---|---|
\n | Line Feed |
\r | Carriage Return |
\r\n | Carriage Return + Line Feed |
\v or \x0b | Line Tabulation (Python 3.2 onwards) |
\f or \x0c | Form Feed (Python 3.2 onwards) |
\x1c | File Separator |
\x1d | Group Separator |
\x1e | Record Separator |
\x85 | Next Line (C1 Control Code) |
\u2028 | Line Separator |
\u2029 | Paragraph 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()返回空列表。