Traitement simple des chaînes de caractère en python
Les chaines de caractères
Si ch
est une chaîne de caractères.
find
retourne la position de la chaîne passée en paramètre.lstrip
etrstrip
supprime toutes les occurrences du caractères passé en paramètre respectivement à gauche et à droite.
>>> ch=" bonjour a tous " >>> ch.find("tous") 13 >>> ch.lstrip(' ') 'bonjour a tous ' >>> ch.rstrip(' ') ' bonjour a tous' >>> ch1=ch.lstrip(' ').rstrip(' ') >>> print(ch1) bonjour a tous >>> ch1.find("tous") 10
Une chaîne de caractères peut être traitée comme un tableau de caractères. On peut donc facilement extraire un caractère, ou une sous chaîne :
>>> ch1[10] 't' >>> ch1[3:7] 'jour' >>> ch1[10:] 'tous' >>> ch1[:10] 'bonjour a ' >>> ch1[:10-1] 'bonjour a'
Les expressions régulières
Il s’agit d’une présentation très simplifiée des expressions régulières et de leur utilisation en python. Une présentation détaillée se trouve ici : http://docs.python.org/2/library/re.html
Une expression régulière permet décrire un modèle de chaîne de caractère.
Pour commencer, on peut utiliser :
- des chaînes de caractères :
abc
est vrai pour la chaîneabc
- * pour indiquer la répétition 0 ou n fois :
a*bc
est vrai pour bc, abc, aabc, … - + pour indiquer la répétition 1 ou n fois :
a+bc
est vrai pour abc, aabc, … - ? pour indiquer un élément optionnel :
ab?c
est vrai pour ac et abc - . pour indiquer n’importe quel caractère :
.bc
- [ ] pour indiquer un caractère par un ensemble : [abc] est vrai pour a ou b ou c
- a-z, A-Z, 0-9 indique un caractère dans l’intervalle : [0-9][a-z] est vrai pour un chiffre suivit d’une lettre minuscule.
- les parenthèses peuvent regrouper des éléments.