Remplacer le caractère dans une chaîne en Python

Manav Narula 10 octobre 2023
  1. Utilisez les fonctions list() et join() pour remplacer un caractère dans une chaîne
  2. Utilisez la fonction bytearray() pour remplacer un caractère dans une chaîne
  3. Utilisez la fonction replace() pour remplacer des caractères dans une chaîne
  4. Utilisez la méthode de concaténation de chaînes pour remplacer un caractère dans une chaîne
Remplacer le caractère dans une chaîne en Python

Une chaîne est une collection de caractères. En Python, les chaînes sont immuables. Cela signifie qu’il est impossible de modifier de tels objets et d’être réaffectés uniquement, ou une copie peut être créée.

Pour cette raison, il n’est pas simple de remplacer des caractères dans une chaîne. Si nous avons affaire à un objet mutable, nous pouvons facilement changer ses éléments, comme nous le pouvons dans une liste comme indiqué ci-dessous.

l = ["a", "b", "c"]
l[1] = "d"
print(l)

Production:

['a', 'd', 'c']

Nous ne faisons pas la même chose avec une chaîne. Dans ce tutoriel, nous allons apprendre à remplacer un caractère dans une chaîne.

Utilisez les fonctions list() et join() pour remplacer un caractère dans une chaîne

Dans cette méthode, nous convertissons la chaîne en une liste de caractères à l’aide de la fonction list(). Nous changeons le caractère nécessaire de cette liste. Ensuite, nous combinons la liste entière en une seule chaîne en utilisant la fonction join().

L’extrait de code suivant implémente cela.

s = "Naze"
l = list(s)
l[2] = "m"
s = "".join(l)
print(s)

Production:

Name

C’est une méthode simple et efficace, même si elle est considérée comme un peu lente.

Utilisez la fonction bytearray() pour remplacer un caractère dans une chaîne

Un tableau d’octets est un objet mutable en Python. C’est un tableau d’octets. Nous pouvons convertir la chaîne en tableau d’octets en utilisant la fonction bytearray(), faire les remplacements nécessaires puis la reconvertir en chaîne en utilisant la fonction str().

Par example,

s = "Naze"
b = bytearray(s)
b[2] = "m"
s = str(b)
print(s)

Production:

Name

Notez que cette méthode échoue dans Python 3.x et plus car nous devons encoder la chaîne dans les versions récentes.

Utilisez la fonction replace() pour remplacer des caractères dans une chaîne

Python est très bien équipé avec de nombreuses fonctions pour travailler avec des chaînes. Nous pouvons utiliser la fonction replace() pour changer les caractères d’une chaîne. Nous devons spécifier les anciens et les nouveaux caractères dans la fonction.

Le code suivant illustre l’utilisation de cette fonction.

s = "Naze"
new_s = s.replace("z", "m")
print(new_s)

Production:

Name

Notez que cette méthode remplace toutes les occurrences de l’ancien caractère par le nouveau.

Utilisez la méthode de concaténation de chaînes pour remplacer un caractère dans une chaîne

Si nous connaissons la position du personnage que nous voulons changer, alors cette méthode peut être très utile et rapide. Nous divisons la chaîne jusqu’à cette partie, ajoutons le caractère, puis le concaténons avec la partie restante de la chaîne qui reste.

L’extrait de code suivant implémente cela.

s = "Naze"
new_s = s[:2] + "m" + s[3:]
print(new_s)

Production:

Name

Notez que c’est la plus rapide de toutes les méthodes.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python String