Comment couper les espaces blancs d'une chaîne de caractères ?

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"
Solution

Un seul espace, ou tous les espaces consécutifs ? Dans le second cas, les chaînes de caractères ont déjà une méthode .strip() :

>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '   Hello   '.strip()  # ALL consecutive spaces at both ends removed
'Hello'

Si vous n'avez besoin d'enlever 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 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 comme argument de strip, c'est-à-dire :

>>> "  Hello\n".strip(" ")
'Hello\n'
Commentaires (14)

Cela supprimera tous les espaces avant et après dans myString :

myString.strip()
Commentaires (2)

Vous voulez strip() :

myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ]

for phrase in myphrases:
    print phrase.strip()
Commentaires (0)