Comment supprimer les espaces en tête et en queue d'une chaîne en Python ?
Par exemple :
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Comment supprimer les espaces en tête et en queue d'une chaîne en Python ?
Par exemple :
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Un seul espace, ou tous ces espaces ? Si c'est la deuxième option, alors les chaînes ont déjà une valeur de .strip()
méthode :
>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> ' Hello '.strip() # ALL spaces at ends removed
'Hello'
Si vous n'avez besoin de supprimer qu'un seul espace, vous pouvez le faire avec :
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Notez également que str.strip()
supprime également les autres caractères d'espacement (par exemple, les tabulations et les nouvelles lignes). Pour supprimer uniquement les espaces, vous pouvez spécifier le caractère à supprimer en tant qu'argument de la commande strip
c'est-à-dire :
>>> " Hello\n".strip(" ")
'Hello\n'
Comme indiqué dans les réponses ci-dessus
myString.strip()
supprimera tous les caractères d'espacement de tête et de queue tels que \n , \r , \t , \f , l'espace.
Pour plus de flexibilité, utilisez les éléments suivants
myString.lstrip()
myString.rstrip()
myString.strip('\n')
ou myString.lstrip('\n\r')
ou myString.rstrip('\n\t')
et ainsi de suite.Plus de détails sont disponibles dans le docs
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.