Comment supprimer les espaces dans une chaîne de caractères en Python
- Supprimer les espaces au début d’une chaîne en Python
- Supprimer les espaces à la fin d’une chaîne de caractères en Python
- Supprimer les espaces au début et à la fin d’une chaîne en Python
- Supprimer tous les espaces d’une chaîne en Python
- Ne supprimez que les espaces dupliqués d’une chaîne 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 "
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.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