Remplacer le caractère dans une chaîne en Python
-
Utilisez les fonctions
list()
etjoin()
pour remplacer un caractère dans une chaîne -
Utilisez la fonction
bytearray()
pour remplacer un caractère dans une chaîne -
Utilisez la fonction
replace()
pour remplacer des caractères dans une chaîne - 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](/img/Python/feature-image---replace-characters-in-strings-python.webp)
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.
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.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python