跳到主要内容

Python 字符串 splitlines() 方法

splitlines() 方法在换行符处拆分字符串,并返回一个列表。

示例

text = 'I\nlove\nPython\nProgramming.'

# 在换行符处拆分字符串,返回列表
resulting_list = text.splitlines()

print(resulting_list)

# 输出: ['I', 'love', 'Python', 'Programming.']

splitlines() 语法

splitlines() 方法的语法是:

string.splitlines([keepends])

这里,keepends 可以是 True 或任何数字。

splitlines() 参数

splitlines() 方法可以接受一个参数:

  • keepends(可选)- 它决定了换行符是否包含在结果列表中。它的值可以是 True 或任何数字。

splitlines() 返回值

splitlines() 方法返回:

  • 字符串中的行列表。

如果没有换行字符,它返回一个仅包含单行的列表。

注意:splitlines() 方法在以下行边界处拆分:

表示描述
\n换行(Line Feed)
\r回车(Carriage Return)
\r\n回车 + 换行
\v 或 \x0b线性制表符(Line Tabulation)
\f 或 \x0c换页(Form Feed)
\x1c文件分隔符
\x1d组分隔符
\x1e记录分隔符
\x85下一行(C1 控制码)
\u2028行分隔符
\u2029段落分隔符

示例 1:Python String splitlines()

grocery = 'Milk\nChicken\nBread\rButter'

# 在换行符处拆分 grocery 字符串
print(grocery.splitlines())

输出

['Milk', 'Chicken', 'Bread', 'Butter']

在上面的示例中,我们使用了 splitlines() 方法在换行符处拆分 grocery 字符串 i.e. 'Milk\nChicken\r\nBread\rButter'

这里,grocery.splitlines() 在换行符 '\n' 处拆分 grocery,并在移除换行符后返回列表 '['Milk', 'Chicken', 'Bread', 'Butter']'

示例 2:使用多行字符串的 splitlines()

我们也可以使用 splitlines() 方法从多行字符串中拆分行。例如,

grocery = '''Milk
Chicken
Bread
Butter'''

# 在换行符处拆分 grocery 字符串
print(grocery.splitlines())

输出

['Milk', 'Chicken', 'Bread', 'Butter']

这里,splitlines() 方法拆分多行字符串 grocery,并返回列表 ['Milk', 'Chicken', 'Bread', 'Butter']

示例 3:在 splitlines() 中传入布尔值

grocery = 'Milk\nChicken\nBread\rButter'

# 返回包含换行符的列表
resulting_list1 = grocery.splitlines(True)
print(resulting_list1)

# 返回不包含换行符的列表
resulting_list2 = grocery.splitlines(False)
print(resulting_list2)

输出

['Milk\n', 'Chicken\n', 'Bread\r', 'Butter']
['Milk', 'Chicken', 'Bread', 'Butter']

在上面的示例中,我们在 splitlines 方法中传递了布尔值 TrueFalse 来拆分 'Milk\nChicken\nBread\rButter'

这里,在方法中传递:

  • True - 返回包含所有项中的换行符的列表,即 '['Milk\n', 'Chicken\n', 'Bread\r', 'Butter']'
  • False - 返回不包含换行符的列表,即 ['Milk', 'Chicken', 'Bread', 'Butter']

示例 4:在 splitlines() 中传递数字

splitlines() 方法接受一个整数值作为参数。这里,0 表示 True,而其他正数或负数则表示 False。例如,

grocery = 'Milk\nChicken\nBread\rButter'

# 返回包含换行符的列表
resulting_list1 = grocery.splitlines(0)
print(resulting_list1)

# 返回不包含换行符的列表
resulting_list2 = grocery.splitlines(5)
print(resulting_list2)

输出

['Milk\n', 'Chicken\n', 'Bread\r', 'Butter']
['Milk', 'Chicken', 'Bread', 'Butter']