Home >Backend Development >Python Tutorial >Remove a given substring from the end of a string using Python
Python is a programming language used globally and developers use it for different purposes. Python has a variety of different applications such as web development, data science, machine learning, and can also automate different processes. All the different programmers using python have to deal with strings and substrings. So, in this article, we will learn how to remove substring at the end of a string.
We will use the endswith() function to help us remove the substring at the end of the string. To understand it more clearly, we will give the following example:
def remove_substring(string, substring): #Defining two different parameters if string.endswith(substring): return string[:len(string)-len(substring)] #If substring is present at the end of the string then the length of the substring is removed from the string else: return string #If there is no substring at the end, it will return with the same length # Example text = "Hello Everyone, I am John, The Sailor!" last_substring = ", The Sailor!" #Specifying the substring #Do not forget to enter the last exclamation mark, not entering the punctuations might lead to error Without_substring = remove_substring(text, last_substring) print(Without_substring)
The output of the above code is as follows:
Hello Everyone, I am John
In this method, we will slice the substring at the end of the string. Python provides functionality to slice text or strings present in the code. We will define the substring in the program and slice it accordingly. Code and examples for removing substrings using this method are as follows:
def remove_substring(string, substring): if string[-len(substring):] == substring: #The length of last characters of the string (length of substring) is compared with the substring and if they are same the substring is removed return string[:-len(substring)] else: return string #If the length of last characters(Substring) does not match with the length of last substring then the characters are not removed # Example Whole_string = "Hello Everyone, I am John, the Sailor!" last_substring = ", the Sailor!" Final_String = remove_substring(Whole_string, last_substring) print(Final_String)
The output of the above code is as follows:
Hello Everyone, I am John
import re #Do not forget to import re module or it might lead to error while running the program def remove_substring(string, substring): pattern = re.escape(substring) + r'$' #re.escape is used to create a pattern to treat all symbols equally and it includes $ to work only on the substring on the end of the string return re.sub(pattern, '', string) #This replaces the last substring with an empty space # Example Whole_string = "Hello Everyone, I am John, the Sailor!" last_substring = ", the Sailor!" Final_String = remove_substring(Whole_string, last_substring) print(Final_String)
The output of the above code is as follows:
Hello Everyone, I am John
In this case rfind() function will be used which finds the defined substring starting from the right side and then we can remove the substring with the help of slicing function. You can understand it better with the help of following examples:
def remove_substring(string, substring): index = string.rfind(substring) #rfind() is used to find the highest index of the substring in the string if index != -1 and index + len(substring) == len(string): # If a substring is found, it is removed by slicing the string return string[:index] else: return string #If no substring is found the original string is returned # Example Whole_string = "Hello Everyone, I am John, the Sailor!" last_substring = ", the Sailor!" Final_String = remove_substring(Whole_string, last_substring) print(Final_String)
The output of the above code is as follows:
Hello Everyone, I am John
This is another way to remove substrings present at the end of a string using the re module. Capturing groups are used with the regular expression module to remove substrings. The code and examples for deleting substrings with the help of capturing groups are as follows:
import re #Do not forget to import the re module or error might occur while running the code def remove_substring(string, substring): pattern = re.escape(substring) + r'(?=$)' # A function is created first and re.escape is used so that all the functions are created equally return re.sub(pattern, '', string) # With the help of re.sub() function, the substring will be replaced with empty place # Example Whole_string = "Hello Everyone, I am John, the Sailor!" last_substring = ", the Sailor!" Final_String = remove_substring(Whole_string, last_substring) print(Final_String)
The output of the above code is as follows:
Hello Everyone, I am John
The need to change strings is very common among all users across the globe, but the process of deleting strings many times consumes a lot of time if the correct method is not followed. Therefore, this article describes the many different methods mentioned above that can be used to remove a substring from the end of a string using python. There may be other ways to remove substrings, but the method mentioned in this article is the shortest and simplest suggested method and you can choose according to your application domain.
The above is the detailed content of Remove a given substring from the end of a string using Python. For more information, please follow other related articles on the PHP Chinese website!