Spliter une chaîne de caractères avec re.split

@joekakone

Joseph Konka @joekakone

03/03/2026 · 3 min

Vous êtes confrontés à un souci de plusieurs délimiteurs dans un texte. Dans ce mini tutoriel nous allons apprendre à utiliser la puissance des expressions régulières avec re.split() pour gérer plusieurs délimiteurs simultanément.

En Python, il est très courant de vouloir fractionner (splitter) une chaîne de caractères en fonction d'un délimiteur. Par défaut, les objets str implémentent une méthode .split() qui remplit parfaitement ce rôle pour un caractère unique.

Mais comment faire lorsque vos données utilisent plusieurs délimiteurs différents ?

La limite de la méthode .split()#

Imaginons une liste de villes du Togo séparées soit par un tiret -, soit par une esperluette & :

text = 'Lomé-Atakpamé-Sokodé&Kara-Dapaong'

# Essai avec la méthode classique
regions = text.split('-')

print(regions)
Output
['Lomé', 'Atakpamé', 'Sokodé&Kara', 'Dapaong']

Comme vous pouvez le voir, 'Sokodé&Kara' n'a pas été séparé car .split() ne reconnaît qu'un seul délimiteur à la fois.

La solution : Le module re#

On va faire appel aux expressions régulières. Pour spécifier plusieurs délimiteurs, nous utilisons la fonction split de la bibliothèque standard re. Elle permet de définir un pattern (modèle) de séparation.

text = 'Lomé-Atakpamé-Sokodé&Kara-Dapaong'

import re

# Le caractère '|' signifie 'OU' dans une expression régulière
regions = re.split('-|&', text)

print(regions)
Output
['Lomé', 'Atakpamé', 'Sokodé', 'Kara', 'Dapaong']

C'est bon, les villes sont bien séparées maintenant.

Comment ça marche ?
La fonction re.split(pattern, string, maxsplit=0) prend trois arguments :

  1. pattern : L'expression régulière définissant les séparateurs.
  2. string : La chaîne de caractères à traiter.
  3. maxsplit (optionnel) : Le nombre maximum de séparations à effectuer.

Dans notre exemple, le pattern '-|&' indique que le délimiteur est soit le tiret, soit l'esperluette. Le caractère pipe | joue ici le rôle d'opérateur logique OU.

Gérer des délimiteurs variables#

Si vous avez un nombre inconnu d'espaces ou de symboles qui se répètent, vous pouvez utiliser les quantificateurs. Par exemple, re.split(r'[-&]+', text) traiterait Sokodé--&&--Kara comme une seule séparation.


Dans ce tutoriel, nous avons vu comment dépasser les limites de la méthode split classique grâce aux expressions régulières. Pour approfondir le sujet, n'hésitez pas à consulter la documentation officielle du module re. Rendez-vous très prochainement pour un nouveau tutoriel Python !

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue