Comment supprimer les espaces d'une chaîne en Python
Introduction
Ce didacticiel fournit des exemples de diverses méthodes que vous pouvez utiliser pour supprimer les espaces blancs d'une chaîne en Python.
Une chaîne de caractères en Python est immuable, donc vous ne pouvez pas changer sa valeur. Toute méthode qui manipule une chaîne de caractères renvoie une nouvelle chaîne.
Déployez vos applications Python depuis GitHub en utilisant la plateforme d'applications DigitalOcean. Laissez DigitalOcean se concentrer sur la mise à l'échelle de votre application.
Les exemples de ce tutoriel utilisent la console interactive Python dans la ligne de commande pour démontrer différentes méthodes qui suppriment les espaces. Les exemples utilisent la chaîne suivante :
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
La sortie est :
Hello World From DigitalOcean
Hi There
Cette chaîne comporte différents types d'espaces et de caractères de saut de ligne, tels que l'espace ( ), la tabulation (\t), le saut de ligne (\n), et le retour chariot (\r).
Supprimer les espaces au début et à la fin en utilisant la méthode strip()
La méthode strip() de la chaîne Python supprime les caractères en début et en fin de chaîne. Le caractère par défaut à supprimer est l'espace.
Déclarez la variable de chaîne :
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utilisez la méthode strip() pour supprimer les espaces vides au début et à la fin :
- s.strip()
La sortie est :
'Hello World From DigitalOcean \t\n\r\tHi There'
Si vous souhaitez supprimer uniquement les espaces en tête ou les espaces en queue, vous pouvez utiliser les méthodes lstrip() et rstrip().
Supprimer tous les espaces en utilisant la méthode replace()
Vous pouvez utiliser la méthode replace() pour supprimer tous les caractères d'espacement de la chaîne, y compris ceux entre les mots.
Déclarez la variable de chaîne :
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utilisez la méthode replace() pour remplacer les espaces par une chaîne vide :
- s.replace(" ", "")
La sortie est :
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
Supprimer les espaces en double et les caractères de nouvelle ligne en utilisant les méthodes join() et split()
Vous pouvez supprimer tous les espaces et les caractères de nouvelle ligne en double en utilisant la méthode join() avec la méthode split(). Dans cet exemple, la méthode split() divise la chaîne en une liste, en utilisant le séparateur par défaut de tout caractère d'espace. Ensuite, la méthode join() joint la liste pour reformer une seule chaîne avec un espace entre chaque mot.
Déclarez la variable de chaîne :
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utilisez les méthodes join() et split() ensemble pour supprimer les espaces et les caractères de nouvelle ligne en double :
- " ".join(s.split())
La sortie est :
'Hello World From DigitalOcean Hi There'
Supprimer tous les espaces et les caractères de nouvelle ligne en utilisant la méthode translate()
Vous pouvez supprimer tous les espaces et les caractères de nouvelle ligne en utilisant la méthode translate(). La méthode translate() remplace les caractères spécifiés par des caractères définis dans un dictionnaire ou une table de correspondance. L'exemple suivant utilise un dictionnaire personnalisé avec la constante de chaîne string.whitespace, qui contient tous les caractères d'espace. Le dictionnaire personnalisé {ord(c): None for c in string.whitespace} remplace tous les caractères dans string.whitespace par None.
Importez le module string afin que vous puissiez utiliser string.whitespace :
- import string
Déclarez la variable de chaîne :
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Utilisez la méthode translate() pour supprimer tous les caractères d'espacement.
- s.translate({ord(c): None for c in string.whitespace})
La sortie est :
'HelloWorldFromDigitalOceanHiThere'
Supprimer les caractères d'espacement à l'aide d'expressions régulières
Vous pouvez également utiliser une expression régulière pour correspondre aux caractères d'espacement et les supprimer en utilisant la fonction re.sub().
Cet exemple utilise le fichier suivant, regexspaces.py, pour montrer quelques façons d'utiliser des expressions régulières afin de supprimer les caractères d'espace :
import re
s = ' Hello World From DigitalOcean \t\n\r\tHi There '
print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='') # \s matches all white spaces
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ matches start
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ matches end
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | for OR condition
Exécutez le fichier depuis la ligne de commande :
python3 regexspaces.py
Vous obtenez la sortie suivante :
Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello World From DigitalOcean
Hi There
Remove trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Remove leading and trailing spaces using regex:
Hello World From DigitalOcean
Hi There
Conclusion
Dans ce tutoriel, vous avez appris certaines des méthodes que vous pouvez utiliser pour supprimer les caractères d'espacement des chaînes en Python. Continuez votre apprentissage sur les chaînes Python.
