Cursus
Comment découper une chaîne de caractères en Python : Trois méthodes différentes
Le détourage de texte est une tâche fondamentale lors de la manipulation de données textuelles en Python, en particulier dans les phases de nettoyage et de préparation des données des projets de science des données. Le rognage permet de supprimer les caractères indésirables, tels que les espaces blancs, au début et à la fin des chaînes de caractères, ce qui rend vos données plus cohérentes et plus faciles à analyser.
Dans ce tutoriel, je vous présenterai les trois principales méthodes de découpage des chaînes de caractères en Python : .strip()
, .lstrip()
, et .rstrip()
, et je couvrirai des cas d'utilisation spécifiques pour démontrer leur polyvalence et leur utilité dans des scénarios réels.
3 méthodes pour découper une chaîne de caractères en Python
Python propose des méthodes intégrées pour découper les chaînes de caractères, ce qui facilite le nettoyage et le prétraitement des données textuelles. Ces méthodes comprennent
.strip()
: Supprime les caractères de début et de fin (espaces blancs par défaut)..lstrip()
: Supprime les caractères de tête (espaces blancs par défaut) de la partie gauche de la chaîne..rstrip()
: Supprime les caractères de fin (espaces blancs par défaut) du côté droit de la chaîne.
La compréhension de ces méthodes permet une manipulation et une préparation efficaces des textes, ce qui est crucial pour toute tâche de science des données impliquant des données textuelles.
1. Suppression des espaces de début et de fin des chaînes de caractères en Python à l'aide de .strip()
La méthode .strip()
est conçue pour éliminer les caractères de début et de fin d'une chaîne de caractères. Il est le plus souvent utilisé pour supprimer les espaces blancs. Voici un exemple ci-dessous, lorsqu'il est utilisé sur la chaîne de caractères " 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 les chaînes de caractères qui peuvent contenir des quantités variables d'espaces blancs en début et en fin de chaîne.
2. Suppression des premiers espaces des chaînes de caractères en Python à l'aide de .lstrip()
La méthode .lstrip()
cible la partie gauche d'une chaîne de caractères, en supprimant les premiers caractères. Par défaut, il supprime les espaces blancs, mais il est possible de lui demander de 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. Suppression de l'espacement des chaînes de caractères en Python à l'aide de .rstrip()
La méthode .rstrip()
complète .lstrip()
en supprimant les caractères de fin de chaîne. Il offre la possibilité de spécifier les caractères à supprimer. Le voici appliqué au même exemple que ci-dessus :
text = " I love learning Python! "
right_trimmed_text = text.rstrip()
print(right_trimmed_text) # Output: " I love learning Python!"
Utilisez .rstrip()
lorsque vous traitez des chaînes de caractères ou d'espaces non désirés à la fin, tels que la ponctuation ou les annotations.
Supprimer des caractères spécifiques d'une chaîne de caractères en Python
Les méthodes d'élagage des 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 sont pas capables de supprimer des caractères au milieu des chaînes de caractères ou de gérer des suppressions plus complexes basées sur des motifs. Pour ces besoins avancés, les expressions régulières (regex) constituent une solution plus robuste.
Suppression de caractères spécifiques d'une chaîne de caractères en Python à l'aide de .strip()
Commençons par la méthode .strip()
. La méthode .strip() peut être personnalisée pour supprimer non seulement les espaces blancs, mais aussi des caractères spécifiques aux deux extrémités d'une chaîne. En voici un exemple :
text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed) # Output: "I love learning Python"
Imaginons maintenant que notre chaîne soit en fait "xxxyyy I love learning Python xxxyyy"
. Étant donné que ”xxx”
et ”yyy”
sont à la fois en tête 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 indiqué précédemment, il est essentiel de comprendre que .strip()
ne peut pas supprimer de 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 sera ”I love learning!!! Python”
. Pour des opérations de suppression plus complexes, il est préférable d'utiliser des expressions régulières plutôt que les méthodes de suppression décrites dans ce tutoriel.
Suppression de caractères spécifiques d'une chaîne de caractères 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 de début et de fin spécifiques dans .lstrip()
et .rstrip()
, respectivement :
text = "!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')
print(left_char_trimmed) # Output: "I love learning Python!!!"
text = "!!!I love learning Python!!!"
right_char_trimmed = text.rstrip('!')
print(right_char_trimmed) # Output: "!!!I love learning Python"
En outre, la même technique de suppression des caractères multiples peut être appliquée aux sites .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"
text = "xxxyyy 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 découpage des chaînes de caractères dans Python 3.9
Python 3.9 a introduit str.removeprefix()
et str.removesuffix()
, qui suppriment explicitement les préfixes ou suffixes connus.
Suppression d'un préfixe à l'aide de removeprefix()
text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text) # Output: "is_fun"
Suppression d'un suffixe à l'aide de removesuffix()
text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text) # Output: "data_cleaning"
Considérations relatives à l'exécution de la coupe des cordes
Lorsque vous travaillez avec de grands ensembles de données, il est important d'élaguer efficacement les chaînes de caractères. .strip()
, .lstrip()
, and .rstrip()
operate in O(n) time complexity. Cependant, pour les données massives, 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
Comprendre la taille et la manipulation des chaînes de caractères est essentiel pour une programmation Python efficace. Si les méthodes .strip()
, .lstrip()
et .rstrip()
répondent aux besoins de base, des scénarios plus complexes peuvent nécessiter l'utilisation d'expressions régulières. Pour un apprentissage plus approfondi, pensez à explorer notre tutoriel sur les expressions régulières, ou mieux encore, lancez-vous dans le cursus de compétences Natural Language Processing in Python de DataCamp.
Apprenez Python à partir de zéro

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.
FAQ
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 de la suppression. 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 nouvelles lignes ?
Par défaut, ces méthodes suppriment tous les types d'espaces blancs, y compris les espaces, les tabulations(\t) et les nouvelles lignes(\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: ""
Continuez à apprendre Python !