Bonsoir,
La méthode str.translate n'est pas intuitive mais quand on apprend à l'utiliser on se passe vite des str.replace en cascades.
Voici comment l'utiliser :
Création d'une table de translation/traduction, limité à un seul caractère, c'est bien dommage au passage.
1 2 3 4 5
| trans_table = str.maketrans({
")": "",
"*": "",
"(": "",
}) |
qui retourne un dictionnaire avec en clé le code unicode du caractère et en valeur le caractère unicode à traduire
Que l'on peut créer avec la syntaxe suivante:
trans_table = {ord(char): "" for char in ")*("}
En python 3 :
1 2 3
| chaine = "(*(deve**loppez)*)*)"
trans_table = str.maketrans({")": "", "*": "", "(": "", })
x = chaine.translate(trans_table) |
>>> x
'developpez'
En python 2 & 3 :
1 2 3
| chaine = u"(*(deve**loppez)*)*)"
trans_table = {ord(char): u"" for char in ")*("}
x = chaine.translate(trans_table) |
>>> x
u'developpez'
Partager