Comment enlever des caractères indésirables d’une chaîne de caractères Python

Vous souhaitez supprimer les caractères indésirables, tels que les espaces de début, de la fin ou du milieu d’une chaîne de caractères. Cet article est pour vous.

La méthode strip() de la classe str de Python peut être utilisée pour enlever les caractères blancs du début ou de la fin d’une chaîne de caractères.

Les méthodes lstrip() et rstrip() effectuent le nettoyage de chaines de caractères sur les côtés gauche et droit, respectivement. Par défaut, ces méthodes suppriment les espaces, mais d’autres caractères peuvent être aussi traités. Par exemple:

>>> # Enlèvement des espaces blancs
>>> s = ' bonjour tout le monde \n'

>>> s.strip()
'bonjour tout le monde'

>>> s.lstrip()
'bonjour tout le monde \n'

>>> s.rstrip()
' bonjour tout le monde'

# Enlèvement des de caractères
>>> t = '-----bonjour====='

>>> t.lstrip('-')
'bonjour====='

>>> t.strip('-=')
'bonjour'

>>>

 

Les différentes méthodes strip() sont couramment utilisées lors de la lecture et du nettoyage des données pour un traitement ultérieur.

Par exemple, vous pouvez les utiliser pour vous débarrasser des espaces blancs, supprimer des citations et d’autres tâches. Sachez que le stripping ne s’applique à aucun texte au milieu d’une chaîne de caractères. Par exemple :

>>> s = ' hello world \n'
>>> s = s.strip()
>>> s
'hello world'
>>>

 

Si vous aviez besoin de faire un changement à l’espace à l’intérieur d’une chaîne de caractères, vous auriez besoin d’utiliser une autre technique, telle que la méthode replace() ou une substitution d’expression régulière. Par exemple:

>>> s.replace(' ', '')
'helloworld'
>>> import re
>>> re.sub('\s+', ' ', s)
'hello world'
>>>

 

Il arrive souvent que vous souhaitiez combiner des opérations de stripping de chaînes de caractères avec un autre type de traitement itératif, tel que la lecture de lignes de données dans un fichier. Si c’est le cas, c’est un domaine où une expression de générateur peut être utile. Par exemple:

with open(nomfichier) as f:
   lignes = (ligne.strip() for ligne in f)
   for ligne in lignes:
      ...

 

Ici, l’expression lignes = (ligne.strip() for ligne in f) agit comme une sorte de transformation de données. C’est efficace parce qu’il ne lit pas d’abord les données dans une liste temporaire. Elle ne fait que créer un itérateur où toutes les lignes produites sont soumises à l’opération de stripping.

Pour un stripping encore plus avancé, vous pouvez vous tourner vers la méthode translate().

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here