« Python Strings » : différence entre les versions
Aller à la navigation
Aller à la recherche
mAucun résumé des modifications |
mAucun résumé des modifications |
||
| Ligne 48 : | Ligne 48 : | ||
</syntaxhighlight>Nous donne:<syntaxhighlight lang="text"> | </syntaxhighlight>Nous donne:<syntaxhighlight lang="text"> | ||
Bonjour World! | Bonjour World! | ||
</syntaxhighlight> | |||
=== Tokenizer === | |||
Comment on peut diviser une chaine en plusieurs morceaux en se basant sur un séparateur?<syntaxhighlight lang="python3"> | |||
a="un un un deux deux un trois" | |||
print (a.split()) | |||
</syntaxhighlight>Qui nous donne:<syntaxhighlight lang="python3"> | |||
['un', 'un', 'un', 'deux', 'deux', 'un', 'trois'] | |||
</syntaxhighlight>pour traiter les lignes d'un CSV :<syntaxhighlight lang="python3"> | |||
csv="az,er,ty,ui,op" | |||
a=csv.split(",") | |||
print (a) | |||
</syntaxhighlight>On a:<syntaxhighlight lang="python3"> | |||
['az', 'er', 'ty', 'ui', 'op'] | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version actuelle datée du 27 avril 2025 à 16:57
Les chaines de caractères ont un comportement spécifique. Voyons quelques exemples.
Souschaines
A la place des classiques substr que l'on trouve dans la majorité des langages Python utilise une méthode qui rappelle vaguement les char* du C!
Un bon exemple:
a="Hello World!"
print (a)
print (a[:2])
print (a[2:])
print (a[2:5])
print (a[:-2])
print (a[-6:])
print (a[-6:-2])
Qui nous donnera
Hello World!
He
llo World!
llo
Hello Worl
World!
Worl
Soit
- la chaine en entier
a
- Les deux premières lettres
a[:2] - La chaine de la lettre après la seconde à la dernière lettre
a[2:] - La chaine de la lettre après la seconde à la cinquième
a[2:5] - La chaine du début jusqu'à la seconde lettre en partant de la fin
a[:-2]et non ce n'est pas un smiley. - Les 6 dernières lettres
a[-6:] - La chaine de la sixième à la seconde en partant de la fin
a[-6:-2]
Le résultat est aussi une chaine. On peut écrire:
print (a[-6:-1])
print (a[-6:-1][1:])
et on obtient.
World
orld
Remplacement
On peut utiliser les expression régulières mais quand c'est pour une substitution simple il y a plus simple.
a="Hello World!"
b=a.replace("Hello","Bonjour")
print (b)
Nous donne:
Bonjour World!
Tokenizer
Comment on peut diviser une chaine en plusieurs morceaux en se basant sur un séparateur?
a="un un un deux deux un trois"
print (a.split())
Qui nous donne:
['un', 'un', 'un', 'deux', 'deux', 'un', 'trois']
pour traiter les lignes d'un CSV :
csv="az,er,ty,ui,op"
a=csv.split(",")
print (a)
On a:
['az', 'er', 'ty', 'ui', 'op']