Python String rsplit()

Splits the string at a given separator and returns a split list of substrings.

Minimal Example

>>> 'finxterx42'.rsplit('x')
['fin', 'ter', '42']

As you read over the explanations below, feel free to watch our video guide about this particular string method:

Syntax and Explanation

str.rsplit(sep=None, maxsplit=-1)

Splits the string at a given separator and returns a split list of substrings.

  • sep – The separator string on which it is split.
  • maxsplit – The number of times the string is split.

When used without explicitly setting the argument, Python splits along the whitespaces:

>>> 'finxter teaches you python'.rsplit()
['finxter', 'teaches', 'you', 'python']

You can set the sep argument to change the string on which it is split:

>>> 'finxter-teaches-you-python'.rsplit('-')
['finxter', 'teaches', 'you', 'python']

You can also restrict the number of times the string should be split. All remaining, non-splitted characters will be stored in the first list element.

>>> 'finxter-teaches-you-python'.rsplit('-', maxsplit=2)
['finxter-teaches', 'you', 'python']

Return a list of the words in the string, using sep as the delimiter string. If maxsplit is given, at most maxsplit splits are done, the rightmost ones. If sep is not specified or None, any whitespace string is a separator. Except for splitting from the right, rsplit() behaves like split() which is described in detail below.

Python String rsplit() vs split() — What’s the Difference?

Per default, both str.split() and str.rsplit() both split on all occurrences of the delimiter string. Thus, they perform the same task with one exception: if you set the optional maxsplit argument. In this case, str.split() splits at the first maxsplit occurrences of the delimiter string, whereas str.rsplit() splits at the last maxsplit occurrences of the delimiter string.

Here’s an example where you set maxsplit=2 which changes the split behavior of both functions:

>>> 'finxter teaches you the python programming language'.split(maxsplit=2)
['finxter', 'teaches', 'you the python programming language']
>>> 'finxter teaches you the python programming language'.rsplit(maxsplit=2)
['finxter teaches you the python', 'programming', 'language']

If you use both function without limiting the number of split elements, the resulting split list is the same:

>>> 'finxter teaches you the python programming language'.split()
['finxter', 'teaches', 'you', 'the', 'python', 'programming', 'language']
>>> 'finxter teaches you the python programming language'.rsplit()
['finxter', 'teaches', 'you', 'the', 'python', 'programming', 'language']

More String Methods

Python’s string class comes with a number of useful additional string methods. Here’s a short collection of all Python string methods—each link opens a short tutorial in a new tab.

MethodDescription
capitalize()Return a copy of the string with capitalized first character and lowercased remaining characters.
casefold()Return a lowercased, casefolded string similar to lowercase() but more aggressive.
center()Return a centered string of a certain length, padded with whitespace or custom characters.
count()Return the number of non-overlapping occurrences of a substring.
encode()Returns a byte object that is an encoded version of the string.
endswith()Returns whether the string ends with a given value or not (True or False).
expandtabs()Return a string with spaces instead of tab characters.
find()Returns the index of the first occurrence of the specified substring.
format()Formats the string according to the Format Description Language.
format_map()Formats the string according to the Format Description Language, passing a mapping object.
index()Returns the index of the first occurrence of the specified substring, like find() but it raises a ValueError if the substring is not found.
isalnum()Checks whether all characters are alphabetic or numeric (True or False).
isalpha()Checks whether all characters are alphabetic (True or False).
isascii()Checks whether all characters are ASCII (True or False).
isdecimal()Checks whether all characters are decimal numbers (True or False).
isdigit()Checks whether all characters are digits, i.e., numbers from 0 to 9 (True or False).
isidentifier()Checks whether all characters are identifiers that can be used as names of functions, classes, or variables (True or False).
islower()Checks whether all characters are lowercase (True or False).
isnumeric()Checks whether all characters are numeric values (True or False).
isprintable()Checks whether all characters are printable (True or False).
isspace()Checks whether all characters are whitespaces (True or False).
istitle()Checks if the string is title-cased (True or False).
isupper()Checks whether all characters are uppercase (True or False).
join()Concatenates the elements in an iterable.
ljust()Returns a left-justified string filling up the right-hand side with fill characters.
lower()Returns a lowercase string version.
lstrip()Trims whitespaces on the left and returns a new string.
maketrans()Returns a translation table.
partition()Searches for a separator substring and returns a tuple with three strings: (1) everything before the separator, (2) the separator itself, and (3) everything after it.
removeprefix()Return string[len(prefix):] if the string starts with prefix, and string[:] otherwise.
removesuffix()Return string[:-len(suffix)] if the string starts with suffix, and string[:] otherwise.
replace()Returns a string with replaced values.
rfind()Return the highest index in the string where a substring is found. Returns -1 if not found.
rindex()Return the highest index in the string where a substring is found. Returns ValueError if not found.
rjust()Returns a right-justified string filling up the left-hand side with fill characters.
rpartition()Searches for a separator substring and returns a tuple with three strings: (1) everything before the separator, (2) the separator itself, and (3) everything after it.
rsplit()Splits the string at a given separator and returns a split list of substrings.
rstrip()Trims whitespaces on the right and returns a new string.
split()Splits the string at a given separator and returns a split list of substrings.
splitlines()Splits the string at line breaks such as '\n' and returns a split list of substrings (i.e., lines).
startswith()Returns whether the string starts with a given value or not (True or False).
strip()Trims whitespaces on the left and right and returns a new string.
swapcase()Swaps lowercase to uppercase characters and vice versa.
title()Returns a new string with uppercase first characters of each word.
translate()Returns a translated string.
upper()Returns a lowercase string version.
zfill()Fills the string from the left with "0" characters.

References