Forums Développement Multimédia

Aller au contenu

[Résolu] "Rechercher remplacer" ou Grep ?

PAO InDesign Acrobat PDF

38 réponses à ce sujet

#1 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 04 August 2012 - 18:02 PM

Bonjour à tous,

voila, je voudrais savoir s'il est possible via la fonction "rechercher/remplacer" ou via un code Grep, de chercher un "espace+nombre+retour à la ligne" et de remplacer par "une suppression de retour à la ligne" ?

Je m'explique je travail sur une table de matière un peu particulière, et j'ai quelques lignes qui finissent par un espace et un nombre genre :
(ligne 1) : Titre A 1

Elles sont généralement suivies par une ligne identique, genre :
(ligne 2) : Titre B .....2 (où ..... est une tabulation)

Ce que je voudrais faire c'est les remplacer par :
(ligne 1) : Titre A Titre B ......2 (où ..... est une tabulation)

Donc supprimer l'espace, le premier nombre et le retour à la ligne.

Dans la fonction rechercher j'ai rentré ça :"^w^9^b". ça trouve bien ce que je veux, mais ça trouve aussi ce que je ne veux pas, c'est à dire mes lignes 2, celles qui comportent une tabulation entre l'espace et le nombre. Donc il faudrait dans mes recherches que je puisse exclure les tabulations.

Autre problème, par quoi je dois remplacer cette "formule" pour supprimer le retour de chariot dans mes résultats de recherches ? D'ailleurs, est-ce possible ?

Je précise que j'utilise Indesign CS3.

Merci beaucoup,

JC+

#2 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 10:14 AM

Bonjour.
Essaye cette regex
Rechercher : \d+\r(?=.+\t\d)
Remplacer par une espace.

#3 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 10:38 AM

Bonjour,

Je viens de tester ta regex. Alors elle trouve effectivement "espace+nombre+retour de chariot". Par contre elle me trouve aussi une ou 2 lignes où il y a des tabulations "espace+tabulation+nombre+retour de chariot", mais pas toutes.

En contrario, elle ne trouve pas certaines lignes constituées uniquement d'"espace+nombre+retour de chariot". :blink:

Le "remplacer par un espace" n'est pas génial, car je me retrouve alors avec un double espace.

En cherchant un peu, j'ai trouvé un forum où il y a ça d'écrit (par Laurent Tournier) :

Citation

Pour supprimer des retours chariots, j'utilise généralement le POSIX [[:cntrl:]] associé à un début de ligne, soit:
^[[:cntrl:]]

Mais c'est quoi un "POSIX" ?

En tout cas, merci pour ta proposition,

JC+


PS : bien sur, je peux me servir de ta REGEX, et lorsqu'elle trouve ce que j'ai besoin, je peux appuyer sur "Suppr", mais je souhaiterai automatiser cela.

#4 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 10:56 AM

En gros, voici ce que j'ai :
Image IPB


Et ce que je voudrais avoir :
Image IPB

JC+

PS : Je précise que le nombre est généré automatiquement par la table de matière... ça peut avoir son importance :oops:

#5 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 11:15 AM

La regex que je mentionne plus haut supprime les nombres et le retour chariot à condition d'être suivis par une chaine de caractères quelconque suivis d'une tabulation et d'un nombre.

Les données du problème étaient alors très incomplètes ! Pour essayer de sortir une regex fonctionnant partout, il faut un bout de texte réel comme il l'est dans ton document et comportant tous les cas de figure. et surtout bien décrire ce que tu cherches à faire.
Et peut-être sera-ce impossible !
Pour le style de paragraphe, c'est bien normal puisque du coup la deuxième ligne vient faire partie du premier paragraphe et prendra donc inévitablement son style que tu peux personnaliser avec des styles grep ou styles imbriqués.

Je pourrais voir avec ce que tu indiques ci-dessus mais je n'ai pas de TDM sous la main.

Pourquoi a-t-on parfois des crochets et parfois pas ??? Ça semble très désordonné.

JC+ dit :

Mais c'est quoi un "POSIX" ?
Posix (Portable Operating System Inerface x)

PS. Je te conseille le livre de Laurent Tournier : Grep et inDesign CS3/CS4 (valable pour CS5 et CS6 également) aux éditions Dunod.

#6 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 11:24 AM

Oui, je comprends ce que tu veux dire.

Je vais essayer de reprendre plus simplement, et avancer pas à pas.

J'ai besoin de lancer une recherche dans un article. Cette rechercher devrait trouver la chaine "espace+nombre+retour de chariot", dans cet ordre là. Mais cette recherche ne devrait pas trouver la chaine "espace+tabulation+nombre+retour de chariot". Toute la différence entre "je trouve" ou "je ne trouve pas", réside dans la présence ou non de la tabulation.

Si déjà, je pouvais trouver comment effectuer cette recherche, je verrais alors par la suite pour le "remplacer par".

Merci pour ton aide.

J'ai feuilleté le livre de L. Tournier sur le google, mais j'ai peur qu'il soit un peu trop compliqué pour un néophyte comme moi :oops:

JC+

#7 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 13:08 PM

Dans ton exemple, tu as :
Lorem lorem : 8¶
ipsum ipsum¶
ipsum ipsum.....................8

Dans ce cas par exemple, tu a aussi un retour chariot à supprimer mais tu n'as pas de chiffre pour te baser.

Je pense qu'un un seul Rechercher / remplacer, ce n'est pas possible.
La solution c'est de rassembler plusieurs rechercher / remplacer dans un javascript afin de ne faire qu'une manipulation.

Je ne sais pas de tête comment ça traitera une TDM mais teste ce javascript sur une copie du document pour ne pas faire de bêtise.

Tu dézippe le fichier, tu le places dans le répertoire des scripts d'inDesign (celui du logiciel ou de l'utilisateur*)

*Répertoire d'installation :
/Users/nom d'utilisateur/Library/Preferences/Adobe InDesign/Version 7.0/fr_FR/Scripts/Scripts Panel
OU
/Applications/Adobe InDesign CS5/Scripts/Scripts Panel/Samples/JavaScript

Tu retrouveras ensuite le script dans le panneau des scripts.
Un double clic sur le script le lancera. Fais toutefois attention, il s'applique sur tout le document.
Je vais faire une demande afin de savoir comment limiter le script à une sélection.

Fichier(s) joint(s)



#8 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 13:45 PM

Voir le messageEddy.vh, le 05 August 2012 - 13:08 PM, dit :

Dans ton exemple, tu as :
Lorem lorem : 8¶
ipsum ipsum¶
ipsum ipsum.....................8

Dans ce cas par exemple, tu a aussi un retour chariot à supprimer mais tu n'as pas de chiffre pour te baser.
Oui, c'est l'exception qui confirme la règle ;-) ... Plus sérieusement, je n'ai ce cas qu'une seule fois dans tout le document, et je pensais le traiter manuellement. C'est le cas aussi pour la "page 11" dans mon exemple.



Voir le messageEddy.vh, le 05 August 2012 - 13:08 PM, dit :

Je ne sais pas de tête comment ça traitera une TDM mais teste ce javascript sur une copie du document pour ne pas faire de bêtise.
Qu'est-ce que tu appelles "TDM" ? :oops:



Voir le messageEddy.vh, le 05 August 2012 - 13:08 PM, dit :

Je vais faire une demande afin de savoir comment limiter le script à une sélection.
:Hola: Je vais tester ton script et je te tiens au courant.

JC+

#9 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 14:25 PM

Voici un récapitulatif : Alors ce script serait presque bon, mais il faudrait qu'il ne puisse s'appliquer qu'à une partie du document,

Je ne sais pas si c'est possible, mais à la fin de celui-ci, il faudrait qu'il puisse passer en italique tous les textes entre des crochets [ ], crochets inclus, et idem pour des texte entre ":" et "tabulation" (":" et "tabulation" non inclus).

Enfin, si ce script pouvait ne pas s'appliquer aux textes entre un "-" et une "tabulation"... Et bien là ça serait le bonheur !!!

En tout cas, merci pour ton aide, c'est la deuxième fois que tu me sors un script du tonnerre ! :roi:

#10 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 17:01 PM

TDM = Table Des Matières.

Pour la mise en italique des textes entre crochets, un styles grep fera l'affaire.
Crées un style de caractères "italique" et formate ces caractères avec une fonte de ton choix en italique.
Ouvre ton style de paragraphe dédié à ta TDM, dans l'onglet styles grep, ajoute un, nouveau style :
Indique le style de caractères à appliquer et applique le au texte : \[.+\]

Image attachée: Capture 2012-08-05 à 18.00.29.png

Pour ne pas s'appliquer au textes entre : et tab, montre-moi un exemple de ce texte afin de ne pas rechercher vainement !

#11 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 17:52 PM

Reprenons mon texte (simplifié) :
Lorem Lorem [ipsum ipsum] ....................1
Lorem Lorem ...........................................2
Lorem Lorem : ipsum ipsum ....................3
Lorem Lorem : - 4
- ipsum ipsum ..................5
- ipsum ipsum ..................6

Pour ne pas s'appliquer au texte entre : et tab -> ça correspond aux ipsum ipsum de la ligne 3
Pour ne pas s'appliquer au texte entre - et tab -> ça correspond aux ipsum ipsum des lignes 5 et 6

JC+

#12 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 17:59 PM

Voir le messageEddy.vh, le 05 August 2012 - 17:01 PM, dit :

Ouvre ton style de paragraphe dédié à ta TDM, dans l'onglet styles grep, ajoute un, nouveau style :
Indique le style de caractères à appliquer et applique le au texte : \[.+\]
Je ne crois pas que ce soit possible en CS3, le GREP n'étant pas intégré dans les styles de paragraphes. Par contre je l'ai fais via "rechercher/remplacer" et ça marche (en remplaçant par un style de caractère créé "italique").

Donc pour la ligne 3 (entre : et tab), j'ai essayé \:.+\t : en remplaçant avec le style de caractère "italique" que j'ai créé... Mais ce code m'inclus la tab, et donc me la passe en italique, ce que je ne veux pas. Comment l'exclure de la recherche Grep ?

JC+

#13 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 19:29 PM

Voici le script modifié, remplace le précédent par celui-là.
Pour finir, un rechercher / remplacer mentionné plus haut pour italiser uniquement les textes entre crochets :

rechercher : \[.+\]|(?<=:\s)(\w+ ?)+
remplacer par : rien
remplacer le format : italique
Image attachée: Capture 2012-08-05 à 20.55.58.png

PS : Script pas encore modifier pour ne s'appliquer qu'à une sélection, j'ai envoyé une demande d'aide, elle est encore en cours…

Fichier(s) joint(s)



#14 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 19:52 PM

C'est très bien tout ça !!!!! Attendons les réponses pour n'appliquer le script qu'à une partie du document, et ça sera parfait !.

Question : le code \:.+\t est censé rechercher toute la chaine commençant par ":", puis tous les caractères jusqu'à une tab (tab incluse).

Comment le modifier pour exclure la tab, c'est à dire, rechercher une chaine depuis ":" y compris tous les caractères derrières jusqu'à une tab, mais sans la tab.

mÔnsieur Eddy.vh... Merci beaucoup :Hola:

#15 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 19:59 PM

J'ai modifié le recherché remplacé dans mon précédent message pour appliquer l'italique aussi au texte entre : et tab en les excluant. (le double point ne doit pas être italisé non plus hein on est d'accord)

Aussi, :.+\t retrouve la chaine de caractère les : et tab inclus !!! (Tu ne dois pas échapper le double point)

#16 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 20:04 PM

Voir le messageJC+, le 05 August 2012 - 19:52 PM, dit :

Question : le code \:.+\t est censé rechercher toute la chaine commençant par ":", puis tous les caractères jusqu'à une tab (tab incluse).

Comment le modifier pour exclure la tab, c'est à dire, rechercher une chaine depuis ":" y compris tous les caractères derrières jusqu'à une tab, mais sans la tab.

J'ai trouvé grâce à Yorigami : http://forums.mediab...gnes-distincts/

Le code : (?<=: )([^:\t])+(?=\t ) (attention : sans espace entre : et ), sinon ça me fait un smiley sur le site)

Je commence à comprendre le Grep... Vais pouvoir commander le livre de Laurent ;-)

JC+

#17 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 20:12 PM

J'espère recevoir une réponse courant de semaine pour la suite !

JC+ dit :

Je commence à comprendre le Grep... Vais pouvoir commander le livre de Laurent
Un casse-tête à la première lecture, il faut le lire deux fois (voire plus) et surtout tester ce qu'on y apprend.

Bonsoir. Je quitte pour aujourd'hui.

#18 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 05 August 2012 - 20:17 PM

Voir le messageEddy.vh, le 05 August 2012 - 19:59 PM, dit :

J'ai modifié le recherché remplacé dans mon précédent message pour appliquer l'italique aussi au texte entre : et tab en les excluant. (le double point ne doit pas être italisé non plus hein on est d'accord)
On est d'accord

Voir le messageEddy.vh, le 05 August 2012 - 19:59 PM, dit :

(Tu ne dois pas échapper le double point)
Je ne comprends pas la tournure de ta phrase :oops:

Si je traduis en français ton code : \[.+\]|(?<=:\s)(\w+ ?)+
Rechercher tous ce qui se trouve entre crochets, et tous les caractères après deux points suivi d'espace (en les excluants), mais je n'arrive pas à "traduire" (+ ?)+ .... Petit coup de pouce ?

Désolé d'être insistant, mais je préfère comprendre à recopier.

JC+

#19 Mandrake

    (`·.¸ . . :✩: . . ¸.·´)

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 1374 messages

Posté 05 August 2012 - 21:50 PM

Juste au passage…

Citation

Je ne crois pas que ce soit possible en CS3, le GREP n'étant pas intégré dans les styles de paragraphes.
Si je puis vous interrompre… Non.
Mais il y a une astuce pour contourner sous CS3…
http://www.indigrep....-C-est-possible

Et le fameux FindChangeByList qui permet d'enchainer des rechercher-remplacer GREP et/ou Texte.
http://abracadabrapd...p?lng=fr&pg=450

#20 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 05 August 2012 - 22:42 PM

Voir le messageJC+, le 05 August 2012 - 20:17 PM, dit :

Je ne comprends pas la tournure de ta phrase :oops:
Tu ne dois pas échapper le : tu peux inscrire : et non \:
Le backslash sert à échapper un caractère afin qu'il ne soit pas considéré comme métacaractère. p.ex. une parenthèse devra être échappée par un backslash afin de ne pas être prise comme métacaractère (parenthèse de sous expression). Mais il y a encore quelques conditions que tu apprendras en lisant le lire de Laurent.

JC+ dit :

Si je traduis en français ton code : \[.+\]|(?<=:\s)(\w+ ?)+
Rechercher tous ce qui se trouve entre crochets, et tous les caractères après deux points suivi d'espace (en les excluant), mais je n'arrive pas à "traduire" (+ ?)+ .... Petit coup de pouce ?
Cette regex veut dire :
on recherche tous caractères quelconque entre crochets répétés une ou plusieurs fois, ces derniers compris
OU (et non ET)
tous caractères de mots une ou plusieurs fois suivi(s) d'une espace éventuelle, une ou plusieurs fois à la condition unique d'être précédés par un double point suivi d'une espace quelconque.

+ signifie une ou plusieurs fois
? signifie zéro ou une fois (éventualité)

JC+ dit :

Désolé d'être insistant, mais je préfère comprendre à recopier.

JC+
Ne sois surtout pas désolé, il m'ennuierait de t'expliquer tout ça pour que tu recopies sans t'y intéresser !

@ Mandrake :
Oui, j'ai failli mettre ce lien mais je ne manipule moi-même pas très bien ce script (je vais cependant l'étudier), il m'aurait dès lors été difficile de continuer à conseiller JC+ !

#21 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 16:15 PM

Bonjour,

Voir le messageMandrake, le 05 August 2012 - 21:50 PM, dit :

Mais il y a une astuce pour contourner sous CS3…
http://www.indigrep....-C-est-possible
Effectivement c'est intéressant. Par contre le JavaScript Chain_queries n'est pas dans le tuto ?

JC+

#22 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 17:27 PM

Bon, ma réflexion ci-dessous n'est peut-être pas la plus simple, mais elle fonctionne (et je l'ai fais tout seul) :

1er GREP : Je recherche tous les chiffres entre un espace et un retour de chariots (\s\d+\r) dans le style de paragraphe 1 que je remplace par un espace, et je sauvegarde cette recherche
2ème GREP : Je recherche tous les caractères entre crochets, crochets inclus ( \[.+\]) que je remplace par rien, et que je remplace par un format en style de caractère italique, et je sauvegarde cette deuxième recherche
3ème GREP : Je recherche tous les caractères précédés de : et d'un espace et suivi d'une tab ((?<=:\s).+?(?=\t)) que je remplace par rien, et que je remplace par un format en style de caractère italique, et je sauvegarde cette troisième recherche
4ème GREP : Je recherche tous les retours de chariots précédés d'une lettre quelconque ((?<=[\l\u])\r) que je remplace par un espace, et je sauvegarde cette quatrième recherche
5ème GREP (qui est en fait la 3ème GREP répétée) : Je recherche tous les caractères précédés de : et d'un espace et suivi d'une tab ((?<=:\s).+?(?=\t)) que je remplace par rien, et que je remplace par un format en style de caractère italique, et je sauvegarde cette cinquième recherche

Et j'obtiens bien le résultat voulu en faisant tout ça manuellement.

Donc, je me dis que si j'applique ça dans le JavaScript Chain_queries, tout devrait se faire en une fois en le lançant.


Bon, pour être honnête, je n'ai qu'un seul bug dans toutes ces démarches.

En effet, lorsque j'applique mon GREP n°1, il s'applique aussi à ma ligne :
Lorem Lorem ...........................................2

C'est à dire qu'il ne voit pas la tab entre l'espace et le nombre :?

Donc, si j'arrivais à faire appliquer la GREP uniquement aux lignes sans tab, ça serait le paradis :cool:

Si vous avez une idée...

Autre question : Le Javascript Chain_queries va s'appliquer à tout mon document ou uniquement à l'article ?
(étant donné que mes recherches sauvegardées sont paramétrée pour "article", je serai tenté de dire uniquement à l'article). J'ai bon ?

JC+

#23 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 17:46 PM

Voir le messageJC+, le 06 August 2012 - 17:27 PM, dit :

Donc, si j'arrivais à faire appliquer la GREP uniquement aux lignes sans tab, ça serait le paradis :cool:
Une des solutions que je trouve bancale mais qui marche, serait que dans mon paramétrage de TDM, au lieu d'appliquer un "espace" entre le nombre et mon texte pour les lignes du type :
Lorem Lorem 1

J'applique un caractère spécial genre "+". J'aurais alors :
Lorem Lorem+1

Et donc je remplace mon GREP 1 par : \+\d+\r

Comme ça je préserve mes lignes de type :
Lorem Lorem .........1

Qu'en pensez-vous ?

JC+


PS : En m'auto-répondant, j'espère ne pas trop polluer le topic :oops:

#24 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 06 August 2012 - 18:51 PM

Le javascript que je t'ai filé contient toutes les requêtes grep à appliquer, il te suffirait de l'éplucher ! Tu peux l'ouvrir avec Extented script Toolkit ou tout éditeur de texte !

#25 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 19:02 PM

Voir le messageEddy.vh, le 06 August 2012 - 18:51 PM, dit :

Le javascript que je t'ai filé contient toutes les requêtes grep à appliquer, il te suffirait de l'éplucher ! Tu peux l'ouvrir avec Extented script Toolkit ou tout éditeur de texte !
Ah ok... Mais pour l'instant ton script s'applique à tout mon document. Donc je cherche une solution alternative "au cas où" on ne puisse pas l'appliquer qu'à l'"article".

De plus, il ne résout pas l'équivalent des "lignes 11" dans mon exemple, et après l'avoir lancé, il faut qu'en même appliquer des rechercher/remplacer pour mettre en forme (c'est à dire en italique) certains passages.

Je ne remets absolument pas en cause ton travail et toute l'aide que tu m'as apportée, bien au contraire !!!!

J'essaye juste de mettre en application ce que tu m'as expliqué pour essayer de m'en sortir tout seul avec une solution peut-être alternative.

JC+

#26 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 19:02 PM

Dans la fenêtre "rechercher/remplacer", savez-vous s'il est possible de supprimer tous les "essais" dans les menus déroulants ? Parce que avec tous les codes que j'ai testé, c'est vraiment le bazarre.

Merci

JC+

#27 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 06 August 2012 - 19:45 PM

Oui, il faut te rendre dans le répertoire :
/Users/nom d'utilisateur/Library/Preferences/Adobe InDesign/Version 7.0/fr_FR/Find-Change Queries
ou l'équivalent sous Windows. et y supprimer tes enregistrement.

Voici le script (merci Laurent pour les infos) ne s'appliquant qu'à la sélection.

Aussi Laurent m'a conseillé le FindChangeByList pour ce genre de choses.

Fichier(s) joint(s)



#28 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 20:11 PM

Voir le messageEddy.vh, le 06 August 2012 - 19:45 PM, dit :

Oui, il faut te rendre dans le répertoire :
/Users/nom d'utilisateur/Library/Preferences/Adobe InDesign/Version 7.0/fr_FR/Find-Change Queries
ou l'équivalent sous Windows. et y supprimer tes enregistrement.
Je m'étais mal exprimé : Je souhaite supprimer l'historique des saisies dans les menus déroulants de la fonction "rechercher/remplacer".

Voir le messageEddy.vh, le 06 August 2012 - 19:45 PM, dit :

Voici le script (merci Laurent pour les infos) ne s'appliquant qu'à la sélection.
Aussi Laurent m'a conseillé le FindChangeByList pour ce genre de choses.
Merci, ça fonctionne. Donc vous me déconseillez de passer par le Javascript Chain_queries ? Pourtant il permet la mise en forme du texte en même temps, non ?

JC+

#29 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 06 August 2012 - 20:18 PM

Oui, la suppression des fichiers supprimera aussi l'historique de ces enregistrements !

Je n'utilise pas ces scripts findChange…, et le reste car je n'en ai pas l'utilité, je vais me pencher sur ces derniers mais pas tout de suite, j'ai d'autres choses à terminer avant.

#30 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 06 August 2012 - 20:30 PM

ok, merci à toi !

JC+

#31 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 06 August 2012 - 20:41 PM

Avec plaisir.
Pour le formatage de la ligne 11, je te laisse chercher un peu… ;)

#32 Tournier

    Ceinture Orange

  • Members
  • PipPipPip
  • 30 messages

Posté 06 August 2012 - 21:20 PM

Bonsoir,

Très intéressant cas évoqué ici. Je réponds simplement à Eddy pour l'exemple ci-dessous:

Citation

Lorem lorem : 8¶
ipsum ipsum¶
ipsum ipsum.....................8

Il est possible de sélectionner l'ensemble avec la regex suivante:


([^\d]+)(\d)\r([^\r]+)\r([^\d]+)(\2)


Un peu d'explication. L'astuce est de rappeler le numéro de page avec une référence arrière (ici \2).
La première ligne est sélectionnée avec ([^\d]+)(\d)\r = tous ce qui n'est pas un chiffre une ou plusieurs fois suivi d'un chiffre quelconque suivi d'une marque de fin de paragraphe.
La deuxième ligne = tout ce qui n'est pas une marque de fin de paragraphe une ou plusieurs fois suivi d'une marque de fin de paragraphe.
Troisième ligne = même chose que la première mais suivi par une référence arrière qui rappelle la sous-expression numéro 2 de la regex (en d'autres termes le même numéro de page).
Je remplace le tout par des "Trouvé" : $1$3 $4$5 (j'ignore le $2 qui correspond au premier numéro de page)

#33 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 07 August 2012 - 09:04 AM

Salut Laurent.
Merci pour cette information, je ne maitrise pas encore bien les références arrière !

#34 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 11 August 2012 - 14:44 PM

Eddy,

Est-ce que je peux appliquer ton script manuellement, ligne par ligne, pour comprendre comment il fonctionne, ou bien est-ce impossible de le décomposer ?

Je te demande cela, car lorsque je fais cette recherche : (?<!-) \\d ? (ligne 11 de ton script), j'ai un message qui me dit qu'il n'a rien trouvé dans mon article :shock:

Merci,

JC+

#35 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 11 August 2012 - 14:56 PM

Voir le messageEddy.vh, le 06 August 2012 - 20:18 PM, dit :

Oui, la suppression des fichiers supprimera aussi l'historique de ces enregistrements !
Ça n'a pas supprimé l'historique :sad:

Image attachée: Capture d’écran 2012-08-11 à 15.56.38.png

JC+

#36 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 11 August 2012 - 15:01 PM

Bonjour.

Voir le messageJC+, le 11 August 2012 - 14:44 PM, dit :

Eddy,

Est-ce que je peux appliquer ton script manuellement, ligne par ligne, pour comprendre comment il fonctionne, ou bien est-ce impossible de le décomposer ?

Je te demande cela, car lorsque je fais cette recherche : (?<!-) \\d ? (ligne 11 de ton script), j'ai un message qui me dit qu'il n'a rien trouvé dans mon article :shock:

Merci,

JC+
Oui, il suffit d'ouvrir le javascript avec ExtentedScript toolkit et copier chaque regex dans le panneau Rechercher remplacer

Voir le messageJC+, le 11 August 2012 - 14:56 PM, dit :

Ça n'a pas supprimé l'historique :sad:

Fichier-joint Capture d’écran 2012-08-11 à 15.56.38.png

JC+
Ok, j'étais pas sur la même longueur d'ondes, je pensais à la liste des requêtes…
Je vais chercher voir si on peut supprimer cet historique.

#37 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 11 August 2012 - 15:04 PM

Voir le messageEddy.vh, le 11 August 2012 - 15:01 PM, dit :

Ok, j'étais pas sur la même longueur d'ondes, je pensais à la liste des requêtes…
Je vais chercher voir si on peut supprimer cet historique.
Merci.


JC+

#38 JC+

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 176 messages

Posté 11 August 2012 - 16:15 PM

Eddy,

j'ai créé 6 "rechercher/remplacer" (dans le style de ce que je propose plus haut dans le topic) que j'ai sauvegardé en les nommant TDM1, TDM2, etc...

Puis j'ai pensé à reprendre un script que tu m'avais déjà proposé, et que j'ai modifié de la façon suivante :


app.loadFindChangeQuery ("TDM1", SearchModes.grepSearch);
app.activeDocument.changeGrep();
app.loadFindChangeQuery ("TDM2", SearchModes.grepSearch);
app.activeDocument.changeGrep();
app.loadFindChangeQuery ("TDM3", SearchModes.grepSearch);
app.activeDocument.changeGrep();
app.loadFindChangeQuery ("TDM4", SearchModes.grepSearch);
app.activeDocument.changeGrep();
app.loadFindChangeQuery ("TDM5", SearchModes.grepSearch);
app.activeDocument.changeGrep();
app.loadFindChangeQuery ("TDM6", SearchModes.grepSearch);
app.activeDocument.changeGrep();
 

ça marche super bien, et en plus, ça me permet de mettre automatiquement en forme mon texte lorsque je lance le script !!!

Merci donc à tous, et surtout à Eddy :Hola: pour toute l'aide apportée. Mon problème est résolu.

JC+

PS : Eddy, si tu trouves comment supprimer l'historique défini ci-dessus, ça m'intéresse ;-)

#39 Eddy.vh

    Éternel apprenti.

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 1194 messages

Posté 12 August 2012 - 11:14 AM

J'ai fait quelques tests.
Finalement en supprimant le fichier des paramètres (réinitialisation de ID), l'historique disparait, c'est normal.
J'ai par contre vérifié le contenu de ces fichiers avant leur suppression et n'y ai rien trouvé ressemblant à cet historique.
Si je trouve, je ne manquerai pas de t'informer.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)