Python String splitlines() Function
The String splitlines() method splits a string at line breaks (like \n, \r, or \r\n) and returns them in a list.
Syntax
my_string.splitlines(keepends)
splitlines() Parameters
Python String splitlines() function parameters:
| Parameter | Condition | Description |
|---|---|---|
keepends | Optional | If set to True, line breaks are included in the resulting list |
splitlines() Return Value
Python String splitlines() function returns a list of strings, each corresponding to a line in the original multi-line string.
If keepends parameter is set to True, line breaks are included in the resulting list.
The splitlines() method splits on the following line boundaries:
| Representation | Description |
|---|---|
\n | Line Feed |
\r | Carriage Return |
\r\n | 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 |
Examples
Example 1: Splits a String at line breaks with splitlines()
The splitlines() method splits a string at line breaks and returns them in a list.
In this example, the string is splitted at line break \n:
my_str = 'First Line\nSecond Line'
result = my_str.splitlines()
print(result) # Output: ['First Line', 'Second Line']
output
['First Line', 'Second Line']
Example 2: Splits a String at different line breaks with splitlines()
Newline \n, carriage return \r and form feed \f are common examples of line breaks that splitlines() method can use to split lines.
my_str = 'One\nTwo\rThree\fFour'
result = my_str.splitlines()
print(result) # Output: ['One', 'Two', 'Three', 'Four']
output
['One', 'Two', 'Three', 'Four']
Example 3: Splits a Multi Line String at line breaks with splitlines()
We can also split the lines from multi line strings using the splitlines() method.
my_str = '''One
Two
Three
Four
'''
result = my_str.splitlines()
print(result) # Output: ['One', 'Two', 'Three', 'Four']
output
['One', 'Two', 'Three', 'Four']
Example 4: Splits a String keep line breaks in the result
If the optional keepends argument is specified with value True, then line breaks are included in the resulting list.
my_str = 'One\nTwo\rThree'
result = my_str.splitlines(True)
print(result) # Output: ['One\n', 'Two\r', 'Three']
output
['One\n', 'Two\r', 'Three']
splitlines() method vs split() method on Newline
Two main differences between splitlines() and split() are about the empty string and single line with a terminal line break.
Empty String with splitlines() and split()
splitlines()returns an empty list for the empty string.split()returns a list with a single item that is an empty string.
# splitlines() method
my_str = ''
result = my_str.splitlines()
print(result) # Output: []
# split() method
my_str = ''
result = my_str.split('\n')
print(result) # Output: ['']
output
[]
['']
Single Line with splitlines() and split()
When you use splitlines() method, a terminal line break does not result in an extra line.
# splitlines() method
my_str = 'Single Line\n'
result = my_str.splitlines()
print(result) # Output: ['Single Line']
# split() method
my_str = 'Single Line\n'
result = my_str.split('\n')
print(result) # Output: ['Single Line', '']
output
['Single Line']
['Single Line', '']