*Memos:
- My post explains a string.
splitlines() can split a string at one or more line boundaries as shown below:
*Memos:
- The 1st argument is
keepends
(Optional-Default:False
-Type:bool
). *Ifkeepends
isTrue
, one or more line boundaries are included otherwise they aren't included. - 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 |
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()) # []
partition() can split a string at the 1st occurrence of a separator, searching from the left to the right as shown below:
*Memos:
- The 1st argument is
sep
(Required-Type:str
): *Memos:- It's the separator of the one or more characters to separate a string.
- An empty string cannot be set.
- Don't use
sep=
.
- It returns a tuple of 3 elements.
- If
sep
isn't found, a tuple of the string itself and two empty strings in order is returned as 3 elements.
v = "It's very very good" print(v.partition('er')) # ("It's v", 'er', 'y very good') print(v.partition('very')) # ("It's ", 'very', ' very good') # ↓ print(v.partition(' ')) # ("It's", ' ', 'very very good') # ↓↓ print(v.partition(' ')) print(v.partition('ER')) print(v.partition('VERY')) print(v.partition('really')) # ("It's very very good", '', '') print(v.partition('')) # ValueError: empty separator
v = '' print(v.partition('er')) # ('', '', '')
rpartition() can split a string at the 1st occurrence of a separator, searching from the right to the left as shown below:
*Memos:
- The 1st argument is
sep
(Required-Type:str
): *Memos:- It's the separator of the one or more characters to separate a string.
- An empty string cannot be set.
- Don't use
sep=
.
- It returns a tuple of 3 elements.
- If
sep
isn't found, a tuple of two empty strings and the string itself in order is returned as 3 elements.
v = "It's very very good" print(v.rpartition('er')) # ("It's very v", 'er', 'y good') print(v.rpartition('very')) # ("It's very ", 'very', ' good') # ↓ print(v.rpartition(' ')) # ("It's very very", ' ', 'good') # ↓↓ print(v.rpartition(' ')) print(v.rpartition('ER')) print(v.rpartition('VERY')) print(v.rpartition('really')) # ('', '', "It's very very good") print(v.rpartition('')) # ValueError: empty separator
v = '' print(v.rpartition('er')) # ('', '', '')
Top comments (0)