Maison > Article > développement back-end > Supprimer une sous-chaîne donnée de la fin d'une chaîne à l'aide de Python
Python est un langage de programmation utilisé dans le monde entier et les développeurs l'utilisent à différentes fins. Python a une variété d'applications différentes telles que le développement Web, la science des données, l'apprentissage automatique, et peut également automatiser différents processus. Tous les différents programmeurs utilisant Python doivent gérer des chaînes et des sous-chaînes. Ainsi, dans cet article, nous apprendrons comment supprimer une sous-chaîne à la fin d’une chaîne.
Nous utiliserons la fonction Endswith() pour nous aider à supprimer la sous-chaîne à la fin de la chaîne. Pour mieux comprendre, nous donnerons l'exemple suivant :
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)
Le résultat du code ci-dessus est le suivant :
Hello Everyone, I am John
Dans cette méthode, nous allons découper la sous-chaîne à la fin de la chaîne. Python fournit des fonctionnalités pour découper le texte ou les chaînes présentes dans le code. Nous définirons la sous-chaîne dans le programme et la découperons en conséquence. Le code et l'exemple pour supprimer des sous-chaînes à l'aide de cette méthode sont les suivants :
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)
Le résultat du code ci-dessus est le suivant :
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)
Le résultat du code ci-dessus est le suivant :
Hello Everyone, I am John
Dans ce cas, la fonction rfind() sera utilisée pour trouver la sous-chaîne définie en commençant par le côté droit, puis nous pourrons supprimer la sous-chaîne à l'aide de la fonction de découpage. Vous pouvez mieux le comprendre à l'aide des exemples suivants :
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)
Le résultat du code ci-dessus est le suivant :
Hello Everyone, I am John
Voici une autre façon de supprimer les sous-chaînes présentes à la fin d'une chaîne en utilisant le module re. Les groupes de capture sont utilisés avec le module d'expression régulière pour supprimer des sous-chaînes. Le code et l'exemple pour supprimer une sous-chaîne à l'aide du groupe de capture sont les suivants :
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)
Le résultat du code ci-dessus est le suivant :
Hello Everyone, I am John
La nécessité de modifier des chaînes est très courante chez tous les utilisateurs du monde entier, mais le processus de suppression de chaînes à plusieurs reprises prend beaucoup de temps si la méthode correcte n'est pas suivie. Par conséquent, cet article décrit les nombreuses méthodes mentionnées ci-dessus qui peuvent être utilisées pour supprimer une sous-chaîne de la fin d’une chaîne à l’aide de Python. Il peut exister d'autres moyens de supprimer des sous-chaînes, mais la méthode mentionnée dans cet article est la méthode suggérée la plus courte et la plus simple et vous pouvez la choisir en fonction de votre domaine d'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!