Comment remplacer des caractères dans une chaîne en Python

Découvrez comment remplacer des caractères ou des sous-chaînes dans des chaînes Python. Maîtrisez la méthode replace(), comptez les limites et utilisez la traduction pour plusieurs caractères.

Essayez cette solution dans l'éditeur

Aperçu

La manipulation de chaînes est au cœur de l'analyse des entrées, du rendu des modèles, du nettoyage des données et de la génération du texte de sortie. En Python, modifier des caractères ou des sous-chaînes spécifiques à l’intérieur d’un bloc de texte est simple, mais cela nécessite de comprendre une propriété fondamentale des chaînes : l’immuabilité.

Parce que les chaînes Python sont immuables, vous ne pouvez pas modifier leurs caractères sur place (par exemple, écrire `text[0] = "A"` déclenche une `TypeError`). Au lieu de cela, toute opération modifiant une chaîne doit créer et renvoyer une toute nouvelle chaîne. Le principal outil pour cela est la méthode intégrée `.replace()`.

La méthode `.replace(old, new)` recherche dans une chaîne toutes les occurrences d'une sous-chaîne spécifiée et les remplace par une nouvelle sous-chaîne. Vous pouvez également spécifier un troisième argument facultatif « count », qui limite le nombre de remplacements à effectuer de gauche à droite. Pour des remplacements plus complexes de plusieurs caractères, vous pouvez utiliser la méthode `.translate()` ou des expressions régulières avec la fonction `re.sub()`.

Sortie de code et d'exécution

Ce script montre la modification de chaînes en remplaçant des sous-chaînes et des caractères à l'aide de la méthode replace().

replace_chars.py
Essayez dans l'éditeur
text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
Sortie terminale
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

Mise en œuvre étape par étape

  • Appelez la méthode .replace() sur la chaîne cible.
  • Passez la sous-chaîne cible comme premier argument et le remplacement comme second.
  • Utilisez l'argument count si vous souhaitez limiter le nombre de remplacements.

Foire aux questions

Comment remplacer des caractères dans une chaîne sur place ?

Vous ne pouvez pas car les chaînes Python sont immuables. Vous devez réaffecter le résultat de la méthode .replace() à votre variable chaîne : text = text.replace(...).

Est-ce que replace() est sensible à la casse ?

Oui, .replace() est strictement sensible à la casse. Pour effectuer des remplacements insensibles à la casse, vous devez utiliser des expressions régulières avec le module re et re.IGNORECASE.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.