本文共 3083 字,大约阅读时间需要 10 分钟。
Python String splitlines() function returns the of lines in the string. The line boundaries are not included in the string, unless we provide keepends
argument value as True
.
Python字符串splitlines()函数返回字符串的行 。 除非我们将keepends
参数值设置为True
,否则字符串中不包括行边界。
The following table shows the characters that are treated as line boundary by splitlines() function.
下表显示了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 |
字符 | 描述 |
---|---|
\ n | 换行 |
\ r | 回车 |
\ r \ n | 回车+换行 |
\ v或\ x0b | 线制表(Python 3.2及更高版本) |
\ f或\ x0c | 表单供稿(Python 3.2及更高版本) |
\ x1c | 文件分隔符 |
\ x1d | 组分隔符 |
\ x1e | 记录分隔符 |
\ x85 | 下一行(C1控制码) |
\ u2028 | 分线器 |
\ u2029 | 段落分隔符 |
Let’s look into some examples of splitlines() function.
让我们看一下splitlines()函数的一些示例。
s = 'Java\nPython\nAndroid'lines = s.splitlines()print(lines)lines = s.splitlines(keepends=True)print(lines)
Output:
输出:
['Java', 'Python', 'Android']['Java\n', 'Python\n', 'Android']
Let’s look at another example with a combination of line feed and carriage return characters.
让我们看一个结合了换行符和回车符的示例。
s = 'Java\n\n\n\nPython\n\r\nAndroid' # \r\n is treated as a single line boundarylines = s.splitlines()print(lines)lines = s.splitlines(keepends=True)print(lines)
Output:
输出:
['Java', '', '', '', 'Python', '', 'Android']['Java\n', '\n', '\n', '\n', 'Python\n', '\r\n', 'Android']
If you get confused with the output from splitlines() function, test it with keepends
as True
to understand how the split is performed.
如果您对splitlines()函数的输出感到困惑,请使用keepends
作为True
进行测试,以了解如何执行拆分。
Finally, let’s look into some examples with different separator characters.
最后,让我们看一些带有不同分隔符的示例。
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)
Output:
输出:
['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']
print("".split('\n'))print("".splitlines())print("Hi\n".split('\n'))print("Hi\n".splitlines())
Output:
So with line break as separator, split() returns empty string in the list whereas splitlines() returns empty list.
print("".split('\n'))print("".splitlines())print("Hi\n".split('\n'))print("Hi\n".splitlines())
输出:
因此,使用换行符作为分隔符,split()返回列表中的空字符串,而splitlines()返回空列表。
Official Documentation:
官方文档:
翻译自:
转载地址:http://fmmzd.baihongyu.com/