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 replace()
  • la méthode translate()

Pour découvrir quelques méthodes différentes pour supprimer les espaces d’une chaîne en Python, consultez Supprimer les espaces d’une chaîne en Python.

A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.

Les exemples dans ce tutoriel utilisent la console interactive Python dans la ligne de commande pour démontrer différentes méthodes qui permettent de supprimer des caractères.

Déployez vos applications Python depuis GitHub en utilisant Plateforme App DigitalOcean. Laissez DigitalOcean se concentrer sur le dimensionnement de votre application.

Supprimer des caractères d’une chaîne en utilisant la méthode replace()

La méthode replace() remplace un caractère par un nouveau caractère. Vous pouvez supprimer un caractère d’une chaîne en fournissant le ou les caractères à remplacer en tant que premier argument et une chaîne vide en tant que deuxième argument.

Déclarez la variable de chaîne :

  1. s = 'abc12321cba'

Remplacez le caractère par une chaîne vide :

  1. print(s.replace('a', ''))

La sortie est :

Output
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 à l’aide de la méthode replace()

Déclarez une variable de chaîne avec quelques caractères de nouvelle ligne :

  1. s = 'ab\ncd\nef'

Remplacez le caractère de nouvelle ligne par une chaîne vide :

  1. print(s.replace('\n', ''))

La sortie est :

Output
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 à l’aide de la méthode replace()

La méthode replace() prend des chaînes de caractères en tant qu’arguments, vous permettant ainsi de remplacer un mot dans une chaîne.

Déclarez la variable de chaîne:

  1. s = 'Helloabc'

Remplacez un mot par une chaîne vide:

  1. print(s.replace('Hello', ''))

La sortie est:

Output
abc

La sortie montre que la chaîne Hello a été supprimée de la chaîne d’entrée.

Supprimez 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 deux premières occurrences des caractères donnés sont remplacées.

Déclarez la variable de chaîne:

  1. s = 'abababab'

Remplacez les deux premières occurrences du caractère par le nouveau caractère:

  1. print(s.replace('a', 'A', 2)) # effectuez le remplacement deux fois

La sortie est:

Output
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 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 :

  1. s = 'abc12321cba'

Obtenez la valeur du point de code Unicode d’un caractère et remplacez-la par None :

  1. print(s.translate({ord('b'): None}))

La sortie est :

Output
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 :

  1. s = 'abc12321cba'

Remplacez tous les caractères abc par None :

  1. print(s.translate({ord(i): None for i in 'abc'}))

La sortie est :

Output
12321

La sortie montre que toutes les occurrences de a, b et c ont été supprimées de la chaîne selon le dictionnaire personnalisé.

Supprimer les caractères de nouvelle ligne d’une chaîne à l’aide de 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 :

  1. s = 'ab\ncd\nef'

Remplacez tous les caractères \n par None :

  1. print(s.translate({ord('\n'): None}))

La sortie est :

Output
abcdef

La sortie montre que toutes les occurrences du caractère de nouvelle ligne \n ont été supprimées de la chaîne selon le dictionnaire personnalisé.

Conclusion

Dans ce tutoriel, vous avez appris certaines des méthodes que vous pouvez utiliser pour supprimer des caractères de chaînes en Python. Continuez votre apprentissage sur les chaînes Python.

Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string