mettre en minuscule [Python] [Regexp] - Python - Programmation
MarshPosté le 21-04-2005 à 10:20:16
Bonjour, J'ai une chaine de caractere sur laquelle je veux mettre en minuscule l'intérieur d'une balise (qui s'appelle PC, mais c'est pas grave)
J'essaye ça : libelle = re.sub('<PC>(?P<pc>.*?)</PC>','<PC>'+'\g<pc>'.lower()+'</PC>',libelle)
et ça marche pas (mais je sais qu'il me trouve bien l'intérieur de ma chaine, mais il la laisse en majuscule)
J'ai aussi essayé ça : libelle = re.sub('<PC>(.*?)</PC>','<PC>'+'\1'.lower()+'</PC>',libelle)
Et là, il me met un caractere bizarre qui n'a rien à voir avec ce qu'il y a entre les balises (un seul caractere apparement...)
J'ai pas forcement besoin d'avoir plusieurs solutions qui marche (une seule me suffit), mais j'aimerais comprendre pour ma culture perso pourquoi \1 ne renvoit pas la chaine trouvé alors que quand je fais un groupe nommé ça fonctionne.
Et si y'a une autre solution, je suis preneur aussi :-)
Merci,
Axel
Message édité par axel584 le 21-04-2005 à 14:28:23
Marsh Posté le 21-04-2005 à 10:20:16
Bonjour,
J'ai une chaine de caractere sur laquelle je veux mettre en minuscule l'intérieur d'une balise (qui s'appelle PC, mais c'est pas grave)
J'essaye ça :
libelle = re.sub('<PC>(?P<pc>.*?)</PC>','<PC>'+'\g<pc>'.lower()+'</PC>',libelle)
et ça marche pas (mais je sais qu'il me trouve bien l'intérieur de ma chaine, mais il la laisse en majuscule)
J'ai aussi essayé ça :
libelle = re.sub('<PC>(.*?)</PC>','<PC>'+'\1'.lower()+'</PC>',libelle)
Et là, il me met un caractere bizarre qui n'a rien à voir avec ce qu'il y a entre les balises (un seul caractere apparement...)
J'ai pas forcement besoin d'avoir plusieurs solutions qui marche (une seule me suffit), mais j'aimerais comprendre pour ma culture perso pourquoi \1 ne renvoit pas la chaine trouvé alors que quand je fais un groupe nommé ça fonctionne.
Et si y'a une autre solution, je suis preneur aussi :-)
Merci,
Axel
Message édité par axel584 le 21-04-2005 à 14:28:23