changer la casse dans le texte de remplacement

Le
Le TeXnicien de Surface
bonjour

je voudrais pouvoir changer la casse du texte de remplacement dans une
recherche-remplacement avec regexp.

Je cherche quelque chose comme AB avec "([^"])"
et je voudrais récupérer AB (ça c'est facile :) ) Ab, aB et ab
C'est-y possible ?

Avec mes remerciements anticipés.

--
Le TeXnicien de Surface
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien Kirche
Le #21786921
Le 11 avril 2007 à 11:42, Le TeXnicien de Surface s'est exprimé ainsi :

bonjour



Bonjour,

je voudrais pouvoir changer la casse du texte de remplacement dans une
recherche-remplacement avec regexp.

Je cherche quelque chose comme AB avec "([^"])"
et je voudrais récupérer AB (ça c'est facile :) ) Ab, aB et ab
C'est-y possible ?



Je ne suis pas sûr de comprendre la problématique correctement sur
« changer la casse du texte », mais est-ce que toggle-case-fold-search
et case-fold-search pour ne pas tenir compte de la casse peuvent aider ?

Avec mes remerciements anticipés.



Et ma réponse un peu tardive :)

--
Sébastien Kirche
Damien Wyart
Le #21786911
Le 11 avril 2007 à 11:42, Le TeXnicien de Surface s'est exprimé ainsi :
[...]



Juste une remarque HS en passant : comme je lis depuis le serveur de
Free, les messages du TeXnicien de Surface sont filtrés (histoire de
codage Unicode, il me semble), et c'est assez dommage (les fils sont
complètement cassés, idem sur fctt). Comme je ne pense pas que Free va
changer sa politique, est-ce qu'il ne vous est vraiment pas possible de
modifier vos réglages pour éviter ce problème ?

--
DW
Le TeXnicien de Surface
Le #21786901
Sébastien Kirche écrivait :
Le 11 avril 2007 à 11:42, Le TeXnicien de Surface s'est exprimé ainsi :
bonjour


Bonjour,


Et rebonjour
(en iso-8859-1, cette fois puisqu'il semble que FREE n'aime pas utf-8)

je voudrais pouvoir changer la casse du texte de remplacement dans une
recherche-remplacement avec regexp.
Je cherche quelque chose comme AB avec "([^"])"
et je voudrais récupérer AB (ça c'est facile :) ) Ab, aB et ab
C'est-y possible ?



Je ne suis pas sûr de comprendre la problématique correctement sur
« changer la casse du texte », mais est-ce que toggle-case-fold-search
et case-fold-search pour ne pas tenir compte de la casse peuvent aider ?


Je vais tenter d'être plus clair :
avec "([^""]*)" je récupère une paire de lettres comme « AB »,
ce que je voudrais c'est remplacer ce texte « AB » par le texte
« AB Ab aB ab » créé automatiquement par une commande adéquate dans
l'expression de remplacement, quelque chose comme U1 l1 etc
Alors la question est encore : c'est-y possible ?
Avec mes remerciements anticipés.



Et ma réponse un peu tardive :)


Tout vient à point à qui sait attendre ;)

--
Le TeXnicien de Surface
Damien Wyart
Le #21786891
* Le TeXnicien de Surface in fr.comp.applications.emacs:
(en iso-8859-1, cette fois puisqu'il semble que FREE n'aime pas utf-8)



Cela fonctionne, merci !

Je vais tenter d'être plus clair :
avec "([^""]*)" je récupère une paire de lettres comme « AB »,
ce que je voudrais c'est remplacer ce texte « AB » par le texte
« AB Ab aB ab » créé automatiquement par une commande adéquate dans
l'expression de remplacement, quelque chose comme U1 l1 etc
Alors la question est encore : c'est-y possible ?



Directement je ne crois pas, Il faudrait sans doute ruser en elisp, mais
je n'ai pas le temps de regarder en détail maintenant...

--
DW
Le TeXnicien de Surface
Le #21786841
Damien Wyart écrivait :

* Le TeXnicien de Surface in fr.comp.applications.emacs:
(en iso-8859-1, cette fois puisqu'il semble que FREE n'aime pas utf-8)



Cela fonctionne, merci !

Je vais tenter d'être plus clair :
avec "([^""]*)" je récupère une paire de lettres comme « AB »,
ce que je voudrais c'est remplacer ce texte « AB » par le texte
« AB Ab aB ab » créé automatiquement par une commande adéquate dans
l'expression de remplacement, quelque chose comme U1 l1 etc
Alors la question est encore : c'est-y possible ?



Directement je ne crois pas, Il faudrait sans doute ruser en elisp, mais
je n'ai pas le temps de regarder en détail maintenant...



Bon, une suggestion sur le forum anglais m'a mis sur la voix :
j'ai utilisé query-replace-regexp-eval
le texte cherché était de la forme « c="AB" »
j'ai utilisé la regexp de recherche : « c="([A-Z])([A-Z])" »
et en remplacement l'expression suivante :

(concat "c="" (upcase 1) (upcase 2) "" or c= "" (upcase 1)
(downcase 2) "" or c= "" (downcase 1) (upcase 2)
"" or c= "" (downcase 1) (downcase 2) """)

et « c="HG" » devient « c="HG" or c="Hg" or c="hG" or c="hg" »

et YOUPIIII ! ;;; si je puis me permettre ;-)
jeqçs
--
Le TeXnicien de Surface
Publicité
Poster une réponse
Anonyme