Problème
Pour supprimer des caractères spécifiques d'une chaîne en Python, un problème courant L'approche consiste à parcourir la chaîne, en identifiant et en supprimant les caractères indésirables. Cependant, une implémentation de cette approche ne parvient souvent pas à modifier la chaîne.
Réponse
Comprendre l'immuabilité des chaînes en Python est crucial. Les chaînes sont immuables, ce qui signifie qu’elles ne peuvent pas être modifiées directement. Toute tentative de modification d'un caractère dans une chaîne entraîne la création d'une nouvelle chaîne.
Pour supprimer correctement des caractères spécifiques, attribuez à nouveau la chaîne modifiée à la variable d'origine. Voici un exemple :
line = "Hello, world!" for char in " ?.!/;:": line = line.replace(char, "") # Create a new string with the character removed print(line) # Output: "Hello,world"
Vous pouvez également utiliser la fonction str.translate intégrée :
line = "Hello, world!" line = line.translate(None, "!@#$") # Remove characters from "!@#$" print(line) # Output: "Hello, world"
Ou remplacer une expression régulière par re.sub :
import re line = "Hello, world!" line = re.sub('[!@#$]', '', line) # Replace characters in `[]` with an empty string print(line) # Output: "Hello, world"
En Python 3, pour les chaînes Unicode :
unicode_line = "Hello, world!" translation_table = {ord(c): None for c in "!@#$"} unicode_line = unicode_line.translate(translation_table) # Delete characters with None mapping print(unicode_line) # Output: "Hello, world"
En comprenant le contenu de la chaîne immuabilité, vous pouvez supprimer efficacement des caractères spécifiques et manipuler efficacement des chaînes en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!