Ich möchte alle Stellen Finden, in denen ich [NAME]-Palette geschrieben habe, und durch Palette [NAME] ersetzen. Der [Name] sind unterschiedlich lange Wörter (ohne eckige Klammer).
Am besten wäre es, wenn [NAME] dann auch noch im ZF Sowieso formatiert werden könnte.
Wie muss der GREP Ausdruck lauten?!?!?!
Edit: Der [Name] ist EIN Wort, dass unterschiedlich lang ist (ohne eckige Klammer).
Grüßle Christoph Steffens
www.idug-stuttgart.de www.satzkiste.de
(Dieser Beitrag wurde von Christoph Steffens am 19. Jul 2007, 11:35 geändert)
scheint zu funktionieren. Erklärung: \b ist eine Wortgrenze [^...] alle Zeichen, die nicht ... sind -\s ein - oder ein beliebiger Leerraum + eins oder mehrere () speichere das Gefundene in $1
Wahrscheinlich kann man das \b auch weglassen.
In meinem Testtext kam auch der Begriff "Die Formate-Paletten" vor. Die Mehrzahl von Palette geht bei der Suche durcheinander.
Das, was beim Suchen (wenn man einzeln durchgeht) markiert wird, wird auch umformatiert. Da hilft nur, die Umgebungssuche von grep zu verwenden: im Popupmenü in InDesign findet man Positive/Negative Lookahead/Lookbehind. Wenn ich also von "Palette Blah" nur das "Blah" formatieren will, muss ich einen Positive Lookbehind machen. Damit könnte ich aber nicht die Reihenfolge tauschen. Um die Reihenfolge tauschen zu können. muss "Palette" gefunden und nicht nur berücksichtigt werden.
Es sei denn, GREP hat noh mehr Tricks auf Lager als ich kenne, was regelmäßig der Fall ist.
dafür brauchts etwas Umschau - was in der Gegend ist (lookaround). In diesem Fall lookbehind: ?<=
Ersetzefeld:
Suchfeld: [leer] + [Formatoptionen] ----- edit: Jetzt überlasse ich das Antworten Gerald. Der ist eh immer einen Kick schneller. Kein Wunder, hab GREP schließlich von ihm gelernt. ;-)
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 19. Jul 2007, 13:47 geändert)