Python String splitlines() 函数用法
2023-09-17 22:22:55
splitlines()
方法在行边界处拆分字符串,并返回字符串中的行列表。
除非将参数指定为 True keepends
否则列表中不包括换行符。
语法:
str.splitlines(keepends)
参数:
keepends:(可选)在换行符中设置 True,否则应包含 False。默认值为 False
\t返回值:
包含所有行的列表对象。
以下字符被视为线边界:
Line Boundaries Char | Description |
---|---|
\n | Line Feed |
\r | Carriage Return |
\n\r | Carriage Return + Line Feed |
\v or \x0b | Line Tabulation |
\f or \x0c | Form Feed |
\x1c | File Separator |
\x1d | Group Separator |
\x1e | Record Separator |
\x85 | Next Line (C1 Control Code) |
\u2028 | Line Separator |
\u2029 | Paragraph Separator |
下面的示例演示了 splitlines()
方法的简单用法。
mystr = '''Python
is a
programming language'''
print(mystr.splitlines())
输出:
['Python', 'is a', 'programming language']
在上面的示例中,三重'''
用于定义多行字符串。默认情况下,它使用 \n
作为线边界。
因此,splitlines()
将在每个换行符处拆分,并返回字符串元素的行列表。
我们没有指定keepends
参数,该参数默认为 False,因此不包括每个元素中的\n
。
以下示例将 keepends
参数指定为 True,因此\n
包含在列表中。
mystr = '''Python
is a
programming language'''
print(mystr.splitlines(True))
输出:
['Python\n', 'is a\n', 'programming language']
splitlines()
方法将是一个字符串,具有上表中指定的任何线边界。
langs = 'C#\rPython\rJava\rSQL\rHadoop' # \r as line boundary
print(langs.splitlines())
langs = 'C#\vPython\vJava\vSQL\vHadoop' # \v as line boundary
print(langs.splitlines())
langs = 'C#\x1dPython\x1dJava\x1dSQL\x1dHadoop' # \x1d as line boundary
print(langs.splitlines())
输出:
['C#', 'Python', 'Java', 'SQL', 'Hadoop']
['C#', 'Python', 'Java', 'SQL', 'Hadoop']
['C#', 'Python', 'Java', 'SQL', 'Hadoop']
splitlines()
方法还将整数值作为其参数,其中 0 为 False,其余数值(正和负)为 True。
langs = 'C#\rPython\rJava\rSQL\rHadoop' # \r as line boundary
print(langs.splitlines(0))
print(langs.splitlines(1)) # keeps line breaks
输出:
['C#', 'Python', 'Java', 'SQL', 'Hadoop']
['C#\r', 'Python\r', 'Java\r', 'SQL\r', 'Hadoop']
splitlines()
方法返回空字符串的空列表,如果字符串不包含线边界,则返回将整个字符串作为单个元素的列表,如下所示。
mystr = ''
print(mystr.splitlines())
langs = 'Hello World'
print(langs.splitlines())
输出:
[]
['Hello World']