Accéder au contenu principal

Comment tronquer une chaîne en Python : Trois méthodes distinctes

Apprenez les principes fondamentaux de la suppression des caractères de début et de fin d'une chaîne en Python.
Actualisé 5 août 2025  · 6 min de lecture

Le rognage de texte est une tâche fondamentale lors du traitement de données textuelles en Python, en particulier lors des phases de nettoyage et de préparation des données dans les projets de science des données. Le rognage permet de supprimer les caractères indésirables, tels que les espaces, au début et à la fin des chaînes, rendant ainsi vos données plus cohérentes et prêtes à être analysées.

Dans ce tutoriel, je vais vous présenter les trois principales méthodes permettant de tronquer des chaînes en Python : .strip(), .lstrip() et .rstrip(). Je vais également vous présenter des cas d'utilisation spécifiques afin de démontrer leur polyvalence et leur utilité dans des scénarios concrets.

3 méthodes pour tronquer une chaîne en Python

Python fournit des méthodes intégrées pour tronquer les chaînes, ce qui facilite le nettoyage et le prétraitement des données textuelles. Ces méthodes comprennent notamment

  • .strip(): Supprime les caractères de début et de fin (espaces par défaut).
  • .lstrip(): Supprime les caractères de début (espaces par défaut) à partir de la gauche de la chaîne.
  • .rstrip(): Supprime les caractères de fin (espaces par défaut) à partir de la fin de la chaîne.

La maîtrise de ces méthodes permet une manipulation et une préparation efficaces des textes, ce qui est essentiel pour toute tâche de science des données impliquant des données textuelles.

1. Supprimer les espaces blancs au début et à la fin des chaînes de caractères en Python à l'aide de .strip()

La méthode .strip() est conçue pour supprimer les caractères de début et de fin d'une chaîne. Il est le plus souvent utilisé pour supprimer les espaces blancs. Voici un exemple ci-dessous, lorsqu'il est utilisé sur la chaîne " I love learning Python! ".

text = "   I love learning Python!   "
trimmed_text = text.strip()
print(trimmed_text)  # Output: "I love learning Python!"

Cette méthode est particulièrement utile pour normaliser des chaînes qui peuvent comporter des espaces blancs variables en début et en fin.

2. Supprimer les espaces blancs en début de chaîne dans Python à l'aide de .lstrip()

La méthode .lstrip() cible la partie gauche d'une chaîne et supprime les caractères en tête. Par défaut, il supprime les espaces blancs, mais il est possible de le configurer pour supprimer des caractères spécifiques. Voici la méthode .lstrip() appliquée à la même chaîne " I love learning Python! " de l'exemple précédent :

text = "   I love learning Python!   "
left_trimmed_text = text.lstrip()
print(left_trimmed_text)  # Output: "I love learning Python!   "

.lstrip() est utile lorsque vous devez nettoyer des chaînes qui commencent par des espaces ou des caractères indésirables, comme dans les listes de noms ou les données catégorielles.

3. Supprimer les espaces blancs à la fin des chaînes de caractères en Python à l'aide de .rstrip()

La méthode .rstrip() complète la méthode .lstrip() en supprimant les caractères à la fin d'une chaîne. Il offre la même flexibilité pour spécifier les caractères à supprimer. Voici comment cela s'applique à l'exemple ci-dessus :

text = "   I love learning Python!   "
right_trimmed_text = text.rstrip()
print(right_trimmed_text)  # Output: "   I love learning Python!"

Utilisez la fonction .rstrip() lorsque vous traitez des chaînes contenant des caractères indésirables ou des espaces à la fin, tels que des signes de ponctuation ou des annotations.

Supprimer des caractères spécifiques d'une chaîne en Python

Les méthodes de trimming de chaînes de Python vous permettent de spécifier les caractères à supprimer au début et à la fin des chaînes. Cette fonctionnalité ajoute une couche de flexibilité aux méthodes .strip(), .lstrip() et .rstrip(), permettant des opérations de nettoyage de chaînes plus ciblées.

Cependant, comme nous le verrons dans nos exemples, il est important de reconnaître les limites inhérentes à ces méthodes : elles ne permettent pas de supprimer des caractères au milieu des chaînes ni de gérer des suppressions plus complexes basées sur des modèles. Pour des besoins aussi avancés, les expressions régulières (regex) offrent une solution plus robuste.

Supprimer des caractères spécifiques d'une chaîne en Python à l'aide de .strip()

Commençons par la méthode d'.strip(). La méthode .strip() peut être personnalisée pour supprimer non seulement les espaces, mais également des caractères spécifiques aux deux extrémités d'une chaîne. Voici un exemple :

text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed)  # Output: "I love learning Python"

Maintenant, imaginons que notre chaîne soit en réalité "xxxyyy I love learning Python xxxyyy". Étant donné que ”xxx” et ”yyy” se trouvent à la fois au début et à la fin de la chaîne, il est possible de les supprimer tous les deux en spécifiant le caractère xy comme caractère à supprimer. Le voici en action !

text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed)  # Output: " I love learning Python "

Comme mentionné précédemment, il est essentiel de comprendre que .strip() ne peut pas supprimer des caractères au milieu de la chaîne. Par exemple, si le texte que nous supprimons est "!!!I love learning!!! Python!!!", le résultat de l'opération ci-dessus serait ”I love learning!!! Python”. Pour des opérations de suppression plus complexes, il est préférable de se reporter aux expressions régulières plutôt qu'aux méthodes de suppression décrites dans ce tutoriel.

Supprimer des caractères spécifiques d'une chaîne en Python à l'aide de .lstrip() et .rstrip()

Il en va de même pour les méthodes .lstrip() et .rstrip(). Vous trouverez ci-dessous des exemples de suppression de caractères spécifiques en début et en fin de ligne dans les fichiers .lstrip() et .rstrip(), respectivement :

text = "!!!I love learning Python!!!"

left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "I love learning Python!!!"

right_char_trimmed = text.rstrip('!')
print(right_char_trimmed)  # Output: "!!!I love learning Python"

De plus, la même technique permettant de supprimer plusieurs caractères peut être appliquée à l'.lstrip(), et .rstrip()

text = "xxxyyy I love learning Python xxxyyy"

left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed)  # Output: " I love learning Python xxxyyy"

right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed)  # Output: "xxxyyy I love learning Python"

Nouvelles méthodes de tronquage de chaînes dans Python 3.9

Python 3.9 a introduit les fonctions str.removeprefix() et str.removesuffix(), qui suppriment explicitement les préfixes ou suffixes connus.

Supprimer un préfixe à l'aide de removeprefix()

text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text)  # Output: "is_fun"

Supprimer un suffixe à l'aide de removesuffix()

text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text)  # Output: "data_cleaning"

Considérations relatives aux performances pour le raccourcissement des chaînes

Lorsque vous travaillez avec de grands ensembles de données, il est important de tronquer efficacement les chaînes de caractères. Les fonctions .strip(), .lstrip() et .rstrip() fonctionnent avec une complexité temporelle O(n). Cependant, pour les ensembles de données volumineux, l'utilisation d'opérations vectorisées dans Pandas peut s'avérer plus efficace :

import pandas as pd
df = pd.DataFrame({"text": ["  Data Science  ", "  Machine Learning  "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)

Conclusion

Il est essentiel de comprendre le rognage et la manipulation des chaînes de caractères pour programmer efficacement en Python. Si les méthodes .strip(), .lstrip() et .rstrip() répondent aux besoins de base, il peut être nécessaire de se plonger dans les expressions régulières pour traiter des scénarios plus complexes. Pour approfondir vos connaissances, nous vous invitons à consulter notre tutoriel sur les expressions régulières ou, mieux encore, à vous lancer dans le cursus Traitement du langage naturel en Python de DataCamp.

Apprenez Python à partir de zéro

Maîtrisez Python pour la science des données et acquérez des compétences recherchées.
Commencez à apprendre gratuitement

Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel est un éducateur, conférencier et évangéliste en science des données à DataCamp où il a publié plusieurs cours et formations en direct sur l'analyse des données, l'apprentissage automatique et l'ingénierie des données. Il est passionné par la diffusion des compétences en matière de données dans les organisations et par l'intersection de la technologie et de la société. Il est titulaire d'une maîtrise en science des données et en analyse commerciale. Pendant son temps libre, vous pouvez le trouver en train de traîner avec son chat Louis.

Foire aux questions

Puis-je utiliser .strip(), .lstrip() ou .rstrip() pour supprimer les caractères numériques d'une chaîne ?

Oui, vous pouvez spécifier des caractères numériques comme cible à supprimer. Par exemple :

text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text)  # Output: "Python"

Comment les fonctions .strip(), .lstrip() et .rstrip() gèrent-elles les chaînes contenant des caractères d'espacement mixtes tels que des tabulations ou des sauts de ligne ?

Par défaut, ces méthodes suppriment tous les types d'espaces, y compris les espaces, les tabulations (\t) et les sauts de ligne (\n). Par exemple :

text = "\t\n  Python Programming  \n\t"
trimmed_text = text.strip()
print(trimmed_text)  # Output: "Python Programming"

Que se passe-t-il si j'appelle .strip(), .lstrip() ou .rstrip() sur une chaîne vide ?

Si vous appelez ces méthodes sur une chaîne vide, elles renvoient une chaîne vide sans erreur. Par exemple :

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Sujets

Continuez à apprendre Python !

Cursus

Principes de base des données en Python

0 min
Développez vos compétences en matière de données, découvrez comment manipuler et visualiser les données, et appliquez des analyses avancées pour prendre des décisions basées sur les données.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Architecture de l'entrepôt de données : Tendances, outils et techniques

Apprenez l'essentiel de l'architecture d'un entrepôt de données, des composants clés aux meilleures pratiques, pour construire un système de données évolutif et efficace !
Kurtis Pykes 's photo

Kurtis Pykes

15 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Didacticiel

Tutoriel sur les méthodes .append() et .extend() de Python

Apprenez à utiliser les méthodes .append() et .extend() pour ajouter des éléments à une liste.
DataCamp Team's photo

DataCamp Team

Didacticiel

Comment arrondir à 2 décimales en Python

Découvrez comment arrondir un nombre à deux décimales dans Python pour une plus grande précision à l'aide de techniques telles que round(), format() et les techniques de formatage de chaînes.
Allan Ouko's photo

Allan Ouko

Didacticiel

Python Switch Case Statement : Guide du débutant

Découvrez le match-case de Python : un guide sur sa syntaxe, ses applications en data science, ML, et une analyse comparative avec le switch-case traditionnel.
Matt Crabtree's photo

Matt Crabtree

Voir plusVoir plus