hilfdirselbst.ch
Facebook Twitter gamper-media
Christoph Steffens  M 
Beiträge: 4719
19. Jul 2007, 11:27
Beitrag #1 von 14
Bewertung:
(30265 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: 6161
19. Jul 2007, 11:42
Beitrag #2 von 14
Beitrag ID: #303509
Bewertung:
(30171 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: 6161
19. Jul 2007, 11:45
Beitrag #3 von 14
Beitrag ID: #303512
Bewertung:
(30165 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: 11703
19. Jul 2007, 11:46
Beitrag #4 von 14
Beitrag ID: #303514
Bewertung:
(30164 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
als Antwort auf: [#303509] Top
 
Christoph Steffens  M 
Beiträge: 4719
19. Jul 2007, 11:51
Beitrag #5 von 14
Beitrag ID: #303516
Bewertung:
(30160 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: 4304
19. Jul 2007, 11:54
Beitrag #6 von 14
Beitrag ID: #303518
Bewertung:
(30156 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: 11703
19. Jul 2007, 11:54
Beitrag #7 von 14
Beitrag ID: #303519
Bewertung:
(30154 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
als Antwort auf: [#303516] Top
 
Christoph Steffens  M 
Beiträge: 4719
19. Jul 2007, 11:56
Beitrag #8 von 14
Beitrag ID: #303520
Bewertung:
(30150 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: 4304
19. Jul 2007, 12:19
Beitrag #9 von 14
Beitrag ID: #303528
Bewertung:
(30133 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: 6161
19. Jul 2007, 12:37
Beitrag #10 von 14
Beitrag ID: #303535
Bewertung:
(30112 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: 11703
19. Jul 2007, 12:37
Beitrag #11 von 14
Beitrag ID: #303536
Bewertung:
(30112 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
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: 4304
19. Jul 2007, 12:46
Beitrag #12 von 14
Beitrag ID: #303541
Bewertung:
(30100 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: 6161
19. Jul 2007, 13:40
Beitrag #13 von 14
Beitrag ID: #303560
Bewertung:
(30078 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: 17321
19. Jul 2007, 14:37
Beitrag #14 von 14
Beitrag ID: #303588
Bewertung:
(30062 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