hilfdirselbst.ch
Facebook Twitter gamper-media
Christoph Steffens  M 
Beiträge: 4724
19. Jul 2007, 11:27
Beitrag #1 von 14
Bewertung:
(31540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Ich brauche Hilfe mit GREP.

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

http://www.eventbrite.de/o/idug-stuttgart-8157231696
(Dieser Beitrag wurde von Christoph Steffens am 19. Jul 2007, 11:35 geändert)
Top
 
X
Gerald Singelmann  M  p
Beiträge: 6165
19. Jul 2007, 11:42
Beitrag #2 von 14
Beitrag ID: #303509
Bewertung:
(31446 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Code
\b([^-\s]+)-Palette 

ersetzt durch
Code
Palette $1 

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.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#303503] Top
 
Gerald Singelmann  M  p
Beiträge: 6165
19. Jul 2007, 11:45
Beitrag #3 von 14
Beitrag ID: #303512
Bewertung:
(31440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Ach ja, es braucht einen zweiten Durchgang, um dem Wort "Palette" das im ersten Druchgang zugewiesene Zeichenformat wieder wegzunehmen.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#303509] Top
 
Martin Fischer  M  p
Beiträge: 11725
19. Jul 2007, 11:46
Beitrag #4 von 14
Beitrag ID: #303514
Bewertung:
(31439 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Hallo Gerald und Christoph,

die Palette im Suchfeld könnte auch noch in Klammern gesetzt werden.
Dann wäre der String im Ersetzefeld kürzer. ;-)

Code
\b([^-\s]+)-(Palette) 

ersetzt durch
Code
$2 $1 


Viele Grüße
Martin
------
Wer den Wolf fürchtet, der gehe nicht in den Wald.
als Antwort auf: [#303509] Top
 
Christoph Steffens  M 
Beiträge: 4724
19. Jul 2007, 11:51
Beitrag #5 von 14
Beitrag ID: #303516
Bewertung:
(31435 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Antwort auf [ Gerald Singelmann ] Ach ja, es braucht einen zweiten Durchgang, um dem Wort "Palette" das im ersten Druchgang zugewiesene Zeichenformat wieder wegzunehmen.

Super! Vielen Dank Euch!!!!!!

Aber, ich will nicht das Wort PALETTE formatieren, sondern das Wort DANACH...

?-(

Grüßle
Christoph Steffens

http://www.eventbrite.de/o/idug-stuttgart-8157231696
als Antwort auf: [#303512] Top
 
Kai Rübsamen  M  p
Beiträge: 4338
19. Jul 2007, 11:54
Beitrag #6 von 14
Beitrag ID: #303518
Bewertung:
(31431 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


das \b kann man in der Tat weglassen. \s find ich super. Das ist so einfach, dass ich zumindest nicht drauf gekommen wäre ...

Antwort auf: Aber, ich will nicht das Wort PALETTE formatieren, sondern das Wort DANACH...


Deswegen hat Gerald ja geschrieben, dass du der Palette im zweiten Durchgang wieder das Format klauen musst.

Gruß Kai
_______________________


Neu: "GREP für Grafiker – S&E mit regulären Ausdrücken in InDesign": Video2Brain
als Antwort auf: [#303516]
(Dieser Beitrag wurde von ruebi am 19. Jul 2007, 11:55 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 11725
19. Jul 2007, 11:54
Beitrag #7 von 14
Beitrag ID: #303519
Bewertung:
(31429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


> Aber, ich will nicht das Wort PALETTE formatieren, sondern das Wort DANACH...

Hast Du gelesen, was Gerald dazu geschrieben hat?
Ich könnt's nicht besser formulieren. ;-)

Viele Grüße
Martin
------
Wer den Wolf fürchtet, der gehe nicht in den Wald.
als Antwort auf: [#303516] Top
 
Christoph Steffens  M 
Beiträge: 4724
19. Jul 2007, 11:56
Beitrag #8 von 14
Beitrag ID: #303520
Bewertung:
(31425 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Sorry, hast Recht!!

1000dank!

Grüßle
Christoph Steffens

http://www.eventbrite.de/o/idug-stuttgart-8157231696
als Antwort auf: [#303519] Top
 
Kai Rübsamen  M  p
Beiträge: 4338
19. Jul 2007, 12:19
Beitrag #9 von 14
Beitrag ID: #303528
Bewertung:
(31408 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


das würde mich jetzt aber doch noch interessieren:

Nehmen wir mal an das Wort würde nicht gedreht u. ich würde gerne immer dem ersten Wort nach Palette ein ZF zuweisen ...

Palette ([^\s]+) findet Palette und das Wort. In Klammern ist $1

Wenn ich jetzt nur $1 bei Ändern eingebe wird das Wort Palette gelöscht.
Bei Palette $1 wird auch Palette das ZF zugewiesen.

> Kann ich Palette zwar suchen, aber nicht ersetzen lassen?? Wie müsste die komplette Suche lauten?

Gruß Kai
_______________________


Neu: "GREP für Grafiker – S&E mit regulären Ausdrücken in InDesign": Video2Brain
als Antwort auf: [#303520]
(Dieser Beitrag wurde von ruebi am 19. Jul 2007, 12:26 geändert)
Top
 
Gerald Singelmann  M  p
Beiträge: 6165
19. Jul 2007, 12:37
Beitrag #10 von 14
Beitrag ID: #303535
Bewertung:
(31387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


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.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#303528] Top
 
Martin Fischer  M  p
Beiträge: 11725
19. Jul 2007, 12:37
Beitrag #11 von 14
Beitrag ID: #303536
Bewertung:
(31387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Hallo Kai,

dafür brauchts etwas Umschau - was in der Gegend ist (lookaround).
In diesem Fall lookbehind: ?<=

Ersetzefeld:
Code
(?<=Palette )([^\s]+) 


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
------
Wer den Wolf fürchtet, der gehe nicht in den Wald.
als Antwort auf: [#303528]
(Dieser Beitrag wurde von Martin Fischer am 19. Jul 2007, 13:47 geändert)
Top
 
Kai Rübsamen  M  p
Beiträge: 4338
19. Jul 2007, 12:46
Beitrag #12 von 14
Beitrag ID: #303541
Bewertung:
(31375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Antwort auf: 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.


Das hatte ich auch so verstanden. Meine Frage ging von einer anderen Ausgangslage aus.

Martin u. Gerald ihr ergänzt euch prima. Während der eine die Formel liefert hat der andere zeitgleich die Erklärung dazu ;-)

Danke!

Gruß Kai
_______________________


Neu: "GREP für Grafiker – S&E mit regulären Ausdrücken in InDesign": Video2Brain
als Antwort auf: [#303536]
(Dieser Beitrag wurde von ruebi am 19. Jul 2007, 12:47 geändert)
Top
 
Gerald Singelmann  M  p
Beiträge: 6165
19. Jul 2007, 13:40
Beitrag #13 von 14
Beitrag ID: #303560
Bewertung:
(31353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Zitat Der ist eh immer einen Kick schneller.

Dafür bist du immer ein Stück präziser :)
als Antwort auf: [#303536] Top
 
Thomas Richard  M  p
Beiträge: 17355
19. Jul 2007, 14:37
Beitrag #14 von 14
Beitrag ID: #303588
Bewertung:
(31337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Mal weider GREP


Um bei der 'Palette'-Suche auch Palette_n_ zu erwischen wäre das dann

([^- ]+)-(Paletten*)

oder geht das auch noch einfacher?


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#303541] Top
 
X