Comment supprimer des caractères d'une chaîne en Python
Introduction
Cet article décrit deux méthodes courantes que vous pouvez utiliser pour supprimer des caractères d'une chaîne en utilisant Python :
- la méthode
String replace() - la méthode
String translate()
Pour apprendre différentes façons de supprimer des espaces d'une chaîne en Python, consultez Suppression des espaces d'une chaîne en Python.
Un objet de chaîne Python est immuable, donc vous ne pouvez pas changer sa valeur. Toute méthode qui manipule une valeur de chaîne retourne un nouvel objet de chaîne.
Les exemples de ce tutoriel utilisent la console interactive Python dans la ligne de commande pour démontrer différentes méthodes qui suppriment des caractères.
Déployez vos applications Python depuis GitHub en utilisant la plateforme d'applications DigitalOcean. Laissez DigitalOcean se concentrer sur la scalabilité de votre application.
Supprimer des caractères d'une chaîne en utilisant la méthode replace()
La méthode replace() de la chaîne remplace un caractère par un nouveau caractère. Vous pouvez supprimer un caractère d'une chaîne en fournissant le(s) caractère(s) à remplacer comme premier argument et une chaîne vide comme deuxième argument.
Déclarez la variable de chaîne :
- s = 'abc12321cba'
Remplacez le caractère par une chaîne vide :
- print(s.replace('a', ''))
La sortie est :
bc12321cb
La sortie montre que les deux occurrences du caractère a ont été supprimées de la chaîne.
Supprimer les caractères de nouvelle ligne d'une chaîne en utilisant la méthode replace()
Déclarez une variable de type chaîne avec quelques caractères de nouvelle ligne :
- s = 'ab\ncd\nef'
Remplacez le caractère de saut de ligne par une chaîne vide :
- print(s.replace('\n', ''))
La sortie est :
abcdef
La sortie montre que les deux caractères de nouvelle ligne (\n) ont été supprimés de la chaîne.
Supprimer une sous-chaîne d'une chaîne en utilisant la méthode replace()
La méthode replace() prend des chaînes en arguments, vous pouvez donc aussi remplacer un mot dans une chaîne.
Déclarez la variable de chaîne :
- s = 'Helloabc'
Remplacer un mot par une chaîne vide :
- print(s.replace('Hello', ''))
La sortie est :
abc
La sortie montre que la chaîne Hello a été supprimée de la chaîne d'entrée.
Supprimer des caractères un nombre spécifique de fois en utilisant la méthode replace()
Vous pouvez passer un troisième argument dans la méthode replace() pour spécifier le nombre de remplacements à effectuer dans la chaîne avant de s'arrêter. Par exemple, si vous spécifiez 2 comme troisième argument, alors seulement les 2 premières occurrences des caractères donnés seront remplacées.
Déclarez la variable de chaîne :
- s = 'abababab'
Remplacez les deux premières occurrences du caractère par le nouveau caractère :
- print(s.replace('a', 'A', 2)) # perform replacement twice
La sortie est :
AbAbabab
La sortie montre que les deux premières occurrences du caractère a ont été remplacées par le caractère A. Comme le remplacement a été effectué seulement deux fois, les autres occurrences de a restent dans la chaîne.
Supprimer des caractères d'une chaîne en utilisant la méthode translate()
La méthode translate() de la chaîne Python remplace chaque caractère dans la chaîne en utilisant la table de correspondance ou le dictionnaire donné.
Déclarez une variable de chaîne :
- s = 'abc12321cba'
Obtenez la valeur du point de code Unicode d'un caractère et remplacez-la par None :
- print(s.translate({ord('b'): None}))
La sortie est :
ac12321ca
La sortie montre que les deux occurrences du caractère b ont été supprimées de la chaîne comme défini dans le dictionnaire personnalisé.
Supprimer plusieurs caractères d'une chaîne en utilisant la méthode translate()
Vous pouvez remplacer plusieurs caractères dans une chaîne en utilisant la méthode translate(). L'exemple suivant utilise un dictionnaire personnalisé, {ord(i): None for i in 'abc'}, qui remplace toutes les occurrences de a, b et c dans la chaîne donnée par None.
Déclarez la variable de chaîne :
- s = 'abc12321cba'
Remplacez tous les caractères abc par None :
- print(s.translate({ord(i): None for i in 'abc'}))
La sortie est :
12321
La sortie montre que toutes les occurrences de a, b et c ont été supprimées de la chaîne comme défini dans le dictionnaire personnalisé.
Supprimer les caractères de nouvelle ligne d'une chaîne en utilisant la méthode translate()
Vous pouvez remplacer les caractères de nouvelle ligne dans une chaîne en utilisant la méthode translate(). L'exemple suivant utilise un dictionnaire personnalisé, {ord('\n'): None}, qui remplace toutes les occurrences de \n dans la chaîne donnée par None.
Déclarez la variable de chaîne :
- s = 'ab\ncd\nef'
Remplacez tous les caractères \n par Aucun :
- print(s.translate({ord('\n'): None}))
La sortie est :
abcdef
La sortie montre que toutes les occurrences du caractère de saut de ligne \n ont été supprimées de la chaîne comme défini dans le dictionnaire personnalisé.
Conclusion
Dans ce tutoriel, vous avez appris certaines des méthodes que vous pouvez utiliser pour supprimer des caractères des chaînes en Python. Continuez votre apprentissage sur les chaînes Python.