Supprimer les espaces avec strip(), lstrip() et rstrip() en Python

1. À propos de strip(), lstrip() et rstrip() en Python

En Python, les méthodes strip(), lstrip() et rstrip() permettent de supprimer certains caractères situés aux extrémités d'une chaîne. Lorsqu'aucun argument n'est indiqué, elles suppriment les caractères d'espacement tels que les espaces, les tabulations et les retours à la ligne.

La différence entre ces trois méthodes concerne la partie de la chaîne sur laquelle elles agissent : strip() traite les deux extrémités, lstrip() uniquement le début et rstrip() uniquement la fin.

  • strip() : supprime les caractères d'espacement au début et à la fin.
  • lstrip() : supprime les caractères d'espacement au début de la chaîne.
  • rstrip() : supprime les caractères d'espacement à la fin de la chaîne.

Dans l'exemple suivant, des espaces sont présents avant et après le mot Python. Les crochets permettent de visualiser clairement leur suppression.

Sortie :

Comme les chaînes de caractères Python sont immuables, ces méthodes ne modifient pas la chaîne originale. Elles renvoient une nouvelle chaîne.

Le programme suivant permet de vérifier que la variable texte conserve sa valeur initiale après l'appel de strip().

Sortie :

2. Supprimer les caractères aux extrémités avec strip()

La méthode strip() supprime, sans argument, les caractères d'espacement situés au début et à la fin d'une chaîne. Les espaces présents à l'intérieur du texte sont conservés.

Dans l'exemple suivant, les espaces placés autour de la phrase sont supprimés tandis que l'espace séparant Python et facile est conservé.

Sortie :

strip() ne supprime donc pas tous les espaces d'une chaîne. Elle agit uniquement sur ses extrémités.

La méthode supprime également d'autres caractères d'espacement lorsqu'aucun argument n'est fourni. Dans l'exemple suivant, la chaîne contient des tabulations et des retours à la ligne.

Sortie :

strip() est particulièrement utile pour nettoyer une donnée avant de la traiter. Elle peut par exemple être appliquée à une chaîne représentant une saisie utilisateur.

Sortie :

La méthode peut également être combinée avec d'autres méthodes de chaînes. Ici, strip() supprime les espaces inutiles et capitalize() normalise la casse du mot.

Sortie :

3. Supprimer les caractères à gauche ou à droite avec lstrip() et rstrip()

Supprimer les espaces à gauche avec lstrip()

La méthode lstrip() agit uniquement sur le début de la chaîne. Son nom vient de l'expression anglaise "left strip". Les espaces placés à droite sont conservés.

Dans l'exemple suivant, les espaces situés avant Python sont supprimés tandis que ceux situés après le mot restent présents.

Sortie :

Supprimer les espaces à droite avec rstrip()

La méthode rstrip() agit uniquement sur la fin de la chaîne. Son nom vient de l'expression anglaise "right strip". Les espaces placés au début sont conservés.

Dans l'exemple suivant, seuls les espaces situés après Python sont supprimés.

Sortie :

Comparer strip(), lstrip() et rstrip()

Le programme suivant applique successivement les trois méthodes à la même chaîne afin de mettre clairement en évidence leurs différences.

Sortie :

Ces méthodes sont également pratiques lors du traitement de lignes provenant d'un fichier texte. rstrip() peut notamment servir à retirer un caractère de fin de ligne sans supprimer les espaces situés au début.

Dans l'exemple suivant, rstrip("\n") supprime uniquement le retour à la ligne final.

Sortie :

4. Utiliser strip(), lstrip() et rstrip() avec des caractères spécifiques

Les méthodes strip(), lstrip() et rstrip() peuvent recevoir un argument contenant les caractères à supprimer. Il est important de comprendre que cet argument n'est pas interprété comme une sous-chaîne complète, mais comme un ensemble de caractères pouvant être retirés successivement aux extrémités concernées.

Supprimer un caractère spécifique avec strip()

Dans l'exemple suivant, le caractère * est supprimé tant qu'il apparaît au début ou à la fin de la chaîne.

Sortie :

Supprimer plusieurs caractères

Lorsque plusieurs caractères sont indiqués dans l'argument, strip() retire n'importe lequel de ces caractères tant qu'il se trouve aux extrémités. Dans cet exemple, les caractères *, - et = peuvent tous être supprimés.

Sortie :

Comprendre que l'argument n'est pas une sous-chaîne

Il ne faut pas confondre strip() avec une méthode supprimant un préfixe ou un suffixe précis. Par exemple, strip("abc") signifie : supprimer aux extrémités tous les caractères appartenant à l'ensemble constitué de a, b et c.

Le programme suivant illustre ce comportement. Tous les caractères a, b et c présents successivement aux extrémités sont retirés.

Sortie :

Utiliser lstrip() avec des caractères spécifiques

Avec lstrip(), les caractères indiqués sont supprimés uniquement au début de la chaîne. La partie droite reste inchangée.

Sortie :

Utiliser rstrip() avec des caractères spécifiques

Avec rstrip(), les caractères indiqués sont supprimés uniquement à la fin de la chaîne.

Sortie :

Différence avec removeprefix() et removesuffix()

Lorsqu'il faut supprimer une séquence exacte au début ou à la fin d'une chaîne, removeprefix() et removesuffix() sont plus adaptées. Contrairement à strip(), elles considèrent leur argument comme une sous-chaîne précise.

Dans l'exemple suivant, removeprefix() supprime exactement le préfixe "cours_" et removesuffix() supprime exactement le suffixe ".txt".

Sortie :

5. À retenir !

Les méthodes strip(), lstrip() et rstrip() permettent de nettoyer les extrémités d'une chaîne de caractères Python.

  • Sans argument, strip() supprime les caractères d'espacement au début et à la fin de la chaîne.
  • Sans argument, lstrip() supprime les caractères d'espacement uniquement au début de la chaîne.
  • Sans argument, rstrip() supprime les caractères d'espacement uniquement à la fin de la chaîne.
  • Ces méthodes ne suppriment pas les espaces situés au milieu de la chaîne.
  • Sans argument, elles peuvent supprimer différents caractères d'espacement, notamment les espaces, tabulations et retours à la ligne.
  • Les chaînes Python sont immuables : ces méthodes renvoient une nouvelle chaîne sans modifier la chaîne originale.
  • Un argument peut être fourni pour indiquer les caractères à supprimer aux extrémités concernées.
  • L'argument de strip(), lstrip() ou rstrip() représente un ensemble de caractères et non une sous-chaîne exacte.
  • Pour supprimer un préfixe exact, il est préférable d'utiliser removeprefix().
  • Pour supprimer un suffixe exact, il est préférable d'utiliser removesuffix().

Le programme suivant résume les différences essentielles entre strip(), lstrip() et rstrip(). Les crochets permettent de visualiser les espaces conservés.

Sortie :

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *