*Memo for string, bytes and bytearray functions:
- My post explains split().
- My post explains rsplit().
- My post explains partition().
- My post explains rpartition().
- My post explains join().
*Memo for a string, bytes and bytearray:
str.splitlines() and bytes.splitlines() or bytearray.splitlines() can split a string and bytes or bytearray respectively at one or more line boundaries as shown below:
*Memo:
- The 1st argument is
keepends
(Optional-Default:False
-Type:bool
):- If
keepends
isTrue
, one or more line boundaries are included otherwise they aren't included.
- If
- These below are line boundaries:
\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 |
<String>:
v1 = '1 one\n2 two\r3 three\r\n4 four\v5 five'
v2 = '1 one\x0b2 two\f3 three\x0c4 four'
v3 = '1 one\x1c2 two\x1d3 three\x1e4 four'
v4 = '1 one\x852 two\u20283 three\u20294 four'
print(v1)
# 1 one
# 3 three
# 4 four5 five
print(v1.splitlines())
print(v1.splitlines(keepends=False))
# ['1 one', '2 two', '3 three', '4 four', '5 five']
print(v1.splitlines(keepends=True))
# ['1 one\n', '2 two\r', '3 three\r\n', '4 four\x0b', '5 five']
print(v2)
# 1 one2 two3 three4 four
print(v2.splitlines())
# ['1 one', '2 two', '3 three', '4 four']
print(v2.splitlines(keepends=True))
# ['1 one\x0b', '2 two\x0c', '3 three\x0c', '4 four']
print(v3)
# 1 one2 two3 three4 four
print(v3.splitlines())
# ['1 one', '2 two', '3 three', '4 four']
print(v3.splitlines(keepends=True))
# ['1 one\x1c', '2 two\x1d', '3 three\x1e', '4 four']
print(v4)
# 1 one
2 two
3 three
4 four
print(v4.splitlines())
# ['1 one', '2 two', '3 three', '4 four']
print(v4.splitlines(keepends=True))
# ['1 one\x85', '2 two\u2028', '3 three\u2029', '4 four']
v = '1 one 2 two 3 three 4 four 5 five'
print(v)
# 1 one 2 two 3 three 4 four 5 five
print(v.splitlines())
print(v.splitlines(keepends=True))
# ['1 one 2 two 3 three 4 four 5 five']
v = ''
print(v.splitlines())
# []
<Bytes & Bytearray>:
bytes:
v1 = b'1 one\n2 two\r3 three\r\n4 four\x0b5 five'
v2 = b'1 one\x0b2 two\x0c3 three\x0c4 four'
v3 = b'1 one\x1c2 two\x1d3 three\x1e4 four'
v4 = b'1 one\xc2\x852 two\xe2\x80\xa83 three\xe2\x80\xa94 four'
print(v1)
# b'1 one\n2 two\r3 three\r\n4 four\x0b5 five'
print(v1.splitlines())
print(v1.splitlines(keepends=False))
# [b'1 one', b'2 two', b'3 three', b'4 four\x0b5 five']
print(v1.splitlines(keepends=True))
# [b'1 one\n', b'2 two\r', b'3 three\r\n', b'4 four\x0b5 five']
print(v2)
# b'1 one\x0b2 two\x0c3 three\x0c4 four'
print(v2.splitlines())
print(v2.splitlines(keepends=True))
# [b'1 one\x0b2 two\x0c3 three\x0c4 four']
print(v3)
# b'1 one\x1c2 two\x1d3 three\x1e4 four'
print(v3.splitlines())
print(v3.splitlines(keepends=True))
# [b'1 one\x1c2 two\x1d3 three\x1e4 four']
print(v4)
# b'1 one\xc2\x852 two\xe2\x80\xa83 three\xe2\x80\xa94 four'
print(v4.splitlines())
print(v4.splitlines(keepends=True))
# [b'1 one\xc2\x852 two\xe2\x80\xa83 three\xe2\x80\xa94 four']
v = b'1 one 2 two 3 three 4 four 5 five'
print(v)
# b'1 one 2 two 3 three 4 four 5 five'
print(v.splitlines())
print(v.splitlines(keepends=True))
# [b'1 one 2 two 3 three 4 four 5 five']
v = b''
print(v.splitlines())
# []
bytearray:
v1 = bytearray(b'1 one\n2 two\r3 three\r\n4 four\v5 five')
v2 = bytearray(b'1 one\x0b2 two\f3 three\x0c4 four')
v3 = bytearray(b'1 one\x1c2 two\x1d3 three\x1e4 four')
v4 = bytearray(b'1 one\x852 two\u20283 three\u20294 four')
print(v1)
# bytearray(b'1 one\n2 two\r3 three\r\n4 four\x0b5 five')
print(v1.splitlines())
print(v1.splitlines(keepends=False))
# [bytearray(b'1 one'), bytearray(b'2 two'), bytearray(b'3 three'),
# bytearray(b'4 four\x0b5 five')]
print(v1.splitlines(keepends=True))
# [bytearray(b'1 one\n'), bytearray(b'2 two\r'),
# bytearray(b'3 three\r\n'), bytearray(b'4 four\x0b5 five')]
print(v2)
# bytearray(b'1 one\x0b2 two\x0c3 three\x0c4 four')
print(v2.splitlines())
print(v2.splitlines(keepends=True))
# [bytearray(b'1 one\x0b2 two\x0c3 three\x0c4 four')]
print(v3)
# bytearray(b'1 one\x1c2 two\x1d3 three\x1e4 four')
print(v3.splitlines())
print(v3.splitlines(keepends=True))
# [bytearray(b'1 one\x1c2 two\x1d3 three\x1e4 four')]
print(v4)
# bytearray(b'1 one\xc2\x852 two\xe2\x80\xa83 three\xe2\x80\xa94 four')
print(v4.splitlines())
print(v4.splitlines(keepends=True))
# [bytearray(b'1 one\xc2\x852 two\xe2\x80\xa83 three\xe2\x80\xa94 four')]
v = bytearray(b'1 one 2 two 3 three 4 four 5 five')
print(v)
# bytearray(b'1 one 2 two 3 three 4 four 5 five')
print(v.splitlines())
print(v.splitlines(keepends=True))
# [bytearray(b'1 one 2 two 3 three 4 four 5 five')]
v = bytearray(b'')
print(v.splitlines())
# []
Top comments (0)