Python modifier caractère

Résolu/Fermé
thomas57070 Messages postés 178 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 31 janvier 2014 - 2 avril 2012 à 08:58
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 3 avril 2012 à 09:45
Bonjour,

Voila j'aimerais modifier plusieurs caractères dans une chaine en python exemple:

chaine = input("Entre ta chaine a tester : ")
chaine =chaine.replace(' ','')
chaine =chaine.replace('é','e')
chaine =chaine.replace('à','a')

mais cela me mets une erreur :"eof while scanning triple-quoted string literal"
si quelqu'un connait comment régler cela de manière simple et efficace
Merci

2 réponses

heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
2 avril 2012 à 22:19
Bonsoir

Il doit manquer du code car je ne vois rien dans ce que tu as posté qui soit susceptible de poser problème

D'autre part, le principe de ton code n'est pas terrible.
chaine =chaine.replace(' ','') 

déclenche la création d'un nouvel objet de type chaîne dans lequel les blancs ont été éliminés, puis réaffecte le nom chaîne à ce nouvel objet;
puis un autre deuxième objet de type chaîne, dans lequel les 'é' ont été remplacés par des 'e', est créé à partir de ce premier nouvel objet, et le nom chaîne est réaffecté à ce deuxième nouvel objet de type chaîne;
enfin in troisième nouvel objet est créé à partir du second et le nom chaîne est encore redéplacé sur ce troisième nouvel objet.

Pour faire ce genre de transformation de plusieurs caractères différents à la fois, utilise translate:

from string import maketrans

table = maketrans('éà','ea')

chaine = "à l'orée du bois"

print chaine.translate(table, ' ')


ou alors la fonction sub() du module re (expressions régulières)
10
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
3 avril 2012 à 09:45
Première année d'info ou de maternelle ? :

ça sera bon

pas: "sa" sera bon
1