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


Dans ce tutoriel, nous allons extraire les données contenues dans un tableau d'une page web.

Il est commun en programmation de spliter une chaîne de caractères avec un délimiteur. Par défaut, le objets str implémente une méthode .split qui permet de le faire.

Comment fractionner une chaîne de caractères avec plusieurs délimiteurs ?

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

regions = text.split('-')

print(regions)

import re

regions = re.split('-|&', text)

print(regions)
>>> text = 'Lomé-Atakpamé-Sokodé&Kara-Dapaong'
>>> regions = text.split('-')
>>> print(regions)
['Lomé', 'Atakpamé', 'Sokodé&Kara', 'Dapaong']
>>>
>>> import re
>>> regions = re.split('-|&', text)
>>> print(regions)
['Lomé', 'Atakpamé', 'Sokodé', 'Kara', 'Dapaong']

La méthode .split permet de fractionner une chaîne selon un délimiteur. Cette méthode prend en entrée le caractère de délimitation et renvoie une liste de chaînes de caractères.

Dans certaines situations le délimiteur n'est pas unique et la méthode .split ne permet pas d'en spécifier plusieurs.

On fait donc appel à la fonction split de la librairie re qui permet de spécifier plusieurs délimiteurs. Elle prend en entrée une expression régulière (pattern), une chaîne de caractères à fractionner (string) et le nombre maximal de séparations faites (maxsplit). Le troisième argument est optionnel.

Grâce à l'expression régulière on peut spécifier plusieurs '-|&' : indique que le délimiteur est '-' ou '&'. Vous l'aurez compris c'est le caractère '|' qui joue le rôle de ou.

Partagez sur les réseaux sociaux

Commentaires