Remplacement de « : [A-Z] » par « : [a-z] »

Le
Denis Bitouzé
Bonjour,

à nouveau mes problèmes de regexp : je souhaiterais faire remplacer
(interactivement) les séquences du genre

: <majuscule>

par

: <minuscule>

J'ai tenté

C-M-% : [A-Z] RET : [a-z] RET

mais ça me remplace par exemple

: Salut

par

: [a-z]alut

J'ai l'air malin !

Merci d'avance pour toute suggestion
--
Denis
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le TeXnicien de Surface
Le #21781731
Denis Bitouzé écrivait :

Bonjour,


Salut Denis,
à nouveau mes problèmes de regexp : je souhaiterais faire remplacer
(interactivement) les séquences du genre
: <majuscule>
par
: <minuscule>



[coupe]
J'ai l'air malin !


Plus que d'habitude ! Prends une photo, stp ;-)

Merci d'avance pour toute suggestion...



Je te recopie le résumé de mes conclusions après de semblables tribulations
sur gnu.emacs

I succeeded with query-replace-regexp-eval and the following
(I must say here that the text I work with is in the form « c="AB" »
and that I want to obtain « c="AB" or c="Ab" or c="aB" or c="ab" » from it)

Here the searching regexp « c="([A-Z)([A-Z])" »
and here the expression evaluated

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

--
Le TeXnicien de Surface
Matthieu Moy
Le #21781721
Denis Bitouzé
Bonjour,

à nouveau mes problèmes de regexp : je souhaiterais faire remplacer
(interactivement) les séquences du genre

: <majuscule>

par

: <minuscule>



Un truc genre :

M-x replace-regexp RET : ([a-z)) RET : ,(downcase 1) RET

--
Matthieu
Denis Bitouzé
Le #21781711
Le Wed, 14 Nov 2007 13:27:09 +0100
Le TeXnicien de Surface
> J'ai l'air malin !
Plus que d'habitude ! Prends une photo, stp ;-)



On est prié de me croire sur parole, nan mèèèèè ! ;)

Je te recopie le résumé de mes conclusions après de semblables
tribulations sur gnu.emacs

I succeeded with query-replace-regexp-eval and the following
(I must say here that the text I work with is in the form « c="AB" »
and that I want to obtain « c="AB" or c="Ab" or c="aB" or c="ab " »
from it)

Here the searching regexp « c="([A-Z)([A-Z])" »
and here the expression evaluated

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



Euh, fais excuse, mais je n'ai strictement *rien* compris. Peux-tu me
traduire par un truc du genre :

M-x query-replace-regexp-eval RET ... RET ... RET

le remplacement de « : [A-Z] » par « : [a-z] » ? Oh oui, ce serait si
gentil ! :)
--
Denis
Denis Bitouzé
Le #21781701
Le Wed, 14 Nov 2007 14:24:06 +0100
Matthieu Moy
Un truc genre :

M-x replace-regexp RET : ([a-z)) RET : ,(downcase 1) RET



Plus précisément (avec l'interactivité en plus) :

query-replace-regexp RET : ([A-Z]) RET : ,(downcase 1) RET

(Presque) parfait, merci ! ;)
--
Denis
Denis Bitouzé
Le #21781691
Le Wed, 14 Nov 2007 06:37:37 -0800
bob de brest
un petit M-x downcase-region sur la region de ton choix ne te suffit
pas ?



Ah, ça je connais (raccourci C-x C-l) mais, ici, il me fallait
rechercher tous les :

: <majuscule>

(deux points suivis d'un espace puis d'une majuscule, quelle qu'elle
soit)

pour les remplacer par des

: <minuscule>

(deux points suivis d'un espace puis de la minuscule de la lettre
majuscule de tout à l'heure).

En tous cas, merci.
--
Denis
Matthieu Moy
Le #21781681
Denis Bitouzé
Le Wed, 14 Nov 2007 06:37:37 -0800
bob de brest
un petit M-x downcase-region sur la region de ton choix ne te suffit
pas ?



Ah, ça je connais (raccourci C-x C-l) mais,



Tu as aussi

C-x ( C-s : RET C-l C-x ) C-x e C-x e C-x e ...

--
Matthieu
Denis Bitouzé
Le #21781661
Le Wed, 14 Nov 2007 20:17:22 +0100
Matthieu Moy
C-x e C-x e C-x e ...



1637 fois ? Argh !
--
Denis
Erwan David
Le #21781651
Denis Bitouzé
Le Wed, 14 Nov 2007 20:17:22 +0100
Matthieu Moy
C-x e C-x e C-x e ...



1637 fois ? Argh !



C-u 1637 C-x e

alors

--
À peu près tout ce qu'on peut imaginer de débile en informatique
finit par exister un jour ou l'autre. (BB)
Matthieu Moy
Le #21781641
Denis Bitouzé
Le Wed, 14 Nov 2007 20:17:22 +0100
Matthieu Moy
C-x e C-x e C-x e ...



1637 fois ? Argh !



Avec Emacs 22, on peut aussi faire « C-x e » une fois, puis juste
« e » pour répéter. 1637 fois, ça fait beaucoup, mais le doigt appuyé
sur « e » pendant quelques secondes, ça en fait déjà quelques
dizaines ;-). Enfin, comme le dis Erwan, y'a quand même C-u 42 C-x e
pour refaire exactement 42 fois l'action, donc, sauvé !

En fait, je trouve ces keyboard-macros super pratiques pour des tâches
semi-automatiques, c'est à dire, systématiques et chiantes à faire à
la main, mais pas dans un contexte où on a forcément envie de
s'embêter à écrire un bout de code lisp ou une regexp qui gère bien
tous les cas. Ça permet de réutiliser les raccourcis claviers qu'on a
hardcodé dans les doigts ;-).

--
Matthieu
Luc.Habert.00__arjf
Le #21781631
D'autant qu'il y a des cas qu'on ne peut pas traiter avec des regexps.
Publicité
Poster une réponse
Anonyme