Introduction
Ce tutoriel propose des exemples de différentes méthodes que vous pouvez utiliser pour supprimer les espaces blancs d’une chaîne de caractères en Python.
A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.
Déployez vos applications Python depuis GitHub en utilisant la plateforme d’application DigitalOcean. Laissez DigitalOcean se charger de mettre à l’échelle votre application.
Les exemples dans 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:
Output Hello World From DigitalOcean
Hi There
Cette chaîne contient 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 en début et en fin de chaîne à l’aide de la méthode strip()
La méthode de chaîne Python strip()
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 :
Output'Hello World From DigitalOcean \t\n\r\tHi There'
Si vous voulez supprimer uniquement les espaces au début ou à la fin, vous pouvez utiliser les méthodes lstrip()
et rstrip()
.
Supprimez 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 :
Output'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
Supprimez les espaces dupliqués et les caractères de nouvelle ligne en utilisant les méthodes join()
et split()
Vous pouvez supprimer tous les espaces et caractères de nouvelle ligne 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’espacement. Ensuite, la méthode join()
rassemble la liste en une seule chaîne avec un seul 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:
Output'Hello World From DigitalOcean Hi There'
Supprimez tous les espaces et caractères de nouvelle ligne à l’aide de la méthode translate()
Vous pouvez supprimer tous les espaces et caractères de nouvelle ligne à l’aide de 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’espacement. 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 de pouvoir 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 :
Output'HelloWorldFromDigitalOceanHiThere'
Supprimer les caractères d’espacement à l’aide de Regex
Vous pouvez également utiliser une expression régulière pour rechercher les caractères d’espacement et les supprimer à l’aide de la fonction re.sub()
.
Cet exemple utilise le fichier suivant, regexspaces.py
, pour montrer quelques façons d’utiliser regex pour supprimer les caractères d’espacement :
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 correspond à tous les espaces blancs
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ correspond au début
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ correspond à la fin
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | pour la condition OU
Exécutez le fichier à partir de 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 quelques-unes 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.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string