"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je supprimer des caractères spécifiques d'une chaîne dans Python?

Comment puis-je supprimer des caractères spécifiques d'une chaîne dans Python?

Publié le 2025-03-23
Parcourir:154

How Can I Remove Specific Characters from a String in Python?

supprimant des caractères spécifiques d'une chaîne dans python

Dans python, les cordes sont immuables, ce qui signifie qu'une fois créée, leur contenu ne peut pas être modifié. Pour modifier une chaîne, vous devez le rebound à une nouvelle chaîne avec les modifications souhaitées.

en utilisant str.replace

La méthode str.replace est utilisée pour remplacer toutes les occurrences d'une sous-chaîne donnée dans une chaîne. Cependant, il crée une nouvelle chaîne plutôt que de modifier la chaîne d'origine. Pour mettre à jour la chaîne d'origine, vous devez attribuer la valeur remplacée à la même variable.

line = "Hello world!"
line = line.replace("!", "")  # Replace all occurrences of "!" with an empty string

en utilisant str.translate

Dans Python 2.6 et ci-dessus, vous pouvez utiliser la méthode str.translate pour supprimer des caractères spécifiques d'une chaîne. Cette méthode vous permet de spécifier un tableau de traduction, qui mappe les caractères à remplacer.

line = line.translate(None, "!@#$")  # Remove all occurrences of "!@#$"

En utilisant re.sub

la méthode re.sub effectue une substitution d'expression régulière sur une chaîne. Vous pouvez l'utiliser pour supprimer des caractères au sein d'une classe de caractères.

import re
line = re.sub(r"[@$%]", "", line)  # Remove all occurrences of "@$%"

Python 3 considérations

Dans Python 3, les chaînes sont Unicode, qui nécessite une approche différente pour supprimer les caractères. Au lieu de passer aucun comme deuxième argument à Str.Translate, vous devez passer un dictionnaire de traduction qui mappe le code Unicode ne pointe à aucun pour les caractères à supprimer.

translation_table = dict.fromkeys(map(ord, "!@#$"), None)
line = line.translate(translation_table)

Méthodes alternatives

Autres méthodes pour supprimer les caractères Inclure:

  • en utilisant une compréhension de la liste pour créer une nouvelle chaîne avec uniquement les caractères désirés
  • pour remplacer les caractères avec des espaces en utilisant STR.Replace espaces
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3