Comment supprimer les espaces dans une chaîne de caractères en Python

Jinku Hu 30 janvier 2023
  1. Supprimer les espaces au début d’une chaîne en Python
  2. Supprimer les espaces à la fin d’une chaîne de caractères en Python
  3. Supprimer les espaces au début et à la fin d’une chaîne en Python
  4. Supprimer tous les espaces d’une chaîne en Python
  5. Ne supprimez que les espaces dupliqués d’une chaîne en Python
Comment supprimer les espaces dans une chaîne de caractères en Python

Il vous montre ci-dessous comment supprimer les espaces blancs d’une chaîne. On pourrait principalement le classer en deux approches différentes, l’une est la méthode Python str, comme str.split() et str.replace(); l’autre est la méthode Python d’expression régulière.

Nous utiliserons la chaîne " Demo Example " comme la chaîne à traiter dans les exemples suivants.

Supprimer les espaces au début d’une chaîne en Python

Méthode str.lstrip()

>>> demo = " Demo  Example  "
>>> demo.lstrip()
"Demo  Example  "

Ici, la méthode str.lstrip() supprime les caractères de tête spécifiés dans l’argument de la méthode. S’il n’y a pas d’argument donné, elle supprime simplement les espaces de tête.

Méthode de regex Python

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+", "", demo)
"Demo  Example  "

^ force la regex à ne trouver que la chaîne de caractères correspondante à son début, et \s signifie de faire correspondre tous les différents types d’espaces comme les espaces, les tabulations, les retours, etc. ou en d’autres termes, c’est égal à la collection de ces caractères spéciaux [ \t\n\r\f\v]. + indique qu’il doit correspondre au plus grand nombre possible d’espaces.

Vous pouvez vous référer à ce tutoriel sur les expressions régulières Python pour en savoir plus sur la regex.

Supprimer les espaces à la fin d’une chaîne de caractères en Python

Méthode str.rstrip()

Contrairement à str.lstrip() qui supprime les caractères au début de la chaîne, str.rstrip() supprime les caractères à la fin.

>>> demo = " Demo  Example  "
>>> demo.lstrip()
" Demo  Example"

Méthode Python regex

De même, vous devez utiliser une expression qui correspond aux espaces blancs en fin de chaîne.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+$", "", demo)
" Demo  Example"

Supprimer les espaces au début et à la fin d’une chaîne en Python

Méthode str.strip()

str.strip() est la combinaison de str.lstrip() et str.rstrip() pour éliminer les espaces au début et à la fin de la chaîne.

>>> demo = " Demo  Example  "
>>> demo.strip()
"Demo  Example"

Méthode Python regex sub()

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo  Example"

Supprimer tous les espaces d’une chaîne en Python

Méthode python de remplacement de chaîne de caractères str.replace()

Il n’est pas nécessaire de vérifier la position de l’espace blanc. Par conséquent, vous pouvez utiliser la méthode str.replace() pour remplacer tous les espaces par la chaîne vide.

>>> demo = " Demo  Example  "
>>> demo.replace(" ", "")
'DemoExample'

La méthode Python string regex replace sub()

L’expression regex ne pouvait être que \s+ pour correspondre aux espaces.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+", "", demo)
"DemoExample"

Ne supprimez que les espaces dupliqués d’une chaîne en Python

Méthode python de fractionnement de chaînes de caractères str.split()

>>> demo = " Demo  Example  "
>>> " ".join(demo.split())
'Demo Example'

str.split() retourne une liste de la sous-chaîne dans la chaîne, en utilisant les espaces comme délimiteur.

Méthode Python regex split re.split()

>>> import re
>>> demo = " Demo  Example  "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
Avertissement
Les résultats de re.split() et str.split() sont différents où re.split() aura une chaîne vide au début ou à la fin de la liste si la chaîne a des espaces dans ces positions, mais str.split() n’inclut pas de chaîne vide dans son résultat.
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Python String