I know many ways how to find a substring: from start index to end index, between characters etc., but I have a problem which I don't know how to solve:
I have a string like for example a path: folder1/folder2/folder3/new_folder/image.jpg
and the second path: folder1/folder2/folder3/folder4/image2.png
And from this paths I want to take only the last parts: image.jpg
and image2.png
. How can I take a substring if I don't know when it starts (I don't know the index, but I can suppose that it will be after last /
character), if many times one character repeats (/
) and the extensions are different (.jpg
and .png
and even other)?
No length constraints.
you can do this split on last occurrence
Use
os.path.basename()
instead and not worry about the details.os.path.basename()
returns the filename portion of your path:For a more generic string splitting problem, you can use
str.rpartition()
to split a string on a given character sequence counting from the end:and with
str.rsplit()
you can split multiple times up to a limit, again from the end:Last but not least, you could use
str.rfind()
to find just the index of a substring, searching from the end:You can do this as well -