How do I remove a substring from the end of a string?
strip
doesn't mean "remove this substring". x.strip(y)
treats y
as a set of characters and strips any characters in that set from both ends of x
.
On Python 3.9 and newer you can use the removeprefix
and removesuffix
methods to remove an entire substring from either side of the string:
url = 'abcdc.com'url.removesuffix('.com') # Returns 'abcdc'url.removeprefix('abcdc.') # Returns 'com'
The relevant Python Enhancement Proposal is PEP-616.
On Python 3.8 and older you can use endswith
and slicing:
url = 'abcdc.com'if url.endswith('.com'): url = url[:-4]
Or a regular expression:
import reurl = 'abcdc.com'url = re.sub('\.com$', '', url)