Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

muelli75
Beiträge gesamt: 42

21. Aug 2008, 16:13
Bewertung:

gelesen: 1036

Beitrag als Lesezeichen
Hallo!

Leider scheitere ich an einem relativ einfachen GREP-Algorithmus.

Im Text kommen unterschiedliche Maßangaben vor, zB:

7x7 cm
7,8x7,5 cm
7x14,5 cm

Ich möchte nun, dass vor und hinter dem "x" ein Leerzeichen eingefügt wird.

"7,8x7 cm" wird zu "7,8 x 7 cm".

Das misslingt mir, weil InDesign CS3 5.03 mit den Variablen durcheinander kommt. Mein Suchausdruck wäre:

(([0-9]{1,2})(,?[0-9]{1,2})?)x(([0-9]{1,2})(,?[0-9]{1,2})?) cm

ersetzen durch

$1$2 x $3$4 cm

Leider scheitert das, weil anscheinend nur die ersten beiden Unterklammern (vor dem "x") in $1 und $2 landen. $3 wird auch gefüllt, $4 bleibt leer.

Jetzt würde die Method klappen, wenn alle Nummern-Paare immer Kommas hätten. Wenn ich aber 5x7,8 cm cm habe, dann rutscht $3 zu $2 ...

Gibts hierfür eine Lösung?

Vielen Dank im Voraus!

LG, Martin

GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

Marco Morgenthaler
Beiträge gesamt: 2474

21. Aug 2008, 16:20
Bewertung:

gelesen: 1033

Beitrag als Lesezeichen
Hallo Martin

Warum so kompliziert?
Suchen nach:
(?<=\d)x(?=\d)
Ändern in:
[Leerschlag]x[Leerschlag]

Positives Lookbehind und Lookahead, also suchen nach x, wenn vorher und nachher eine Ziffer, ersetzen durch « x ».

Gruss, Marco

(Dieser Beitrag wurde von Marco Morgenthaler am 21. Aug 2008, 16:21 geändert)

GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

muelli75
Beiträge gesamt: 42

21. Aug 2008, 16:28
Bewertung:

gelesen: 1021

Beitrag als Lesezeichen
Hallo!


Danke für den raschen Tipp!


In der Zwischenzeit bin ich auf folgende Lösung gekommen:

([0-9]*,?[0-9]*)[xX]([0-9]*,?[0-9]*) cm

ersetzen durch $1 x $2 cm

Dann klappts auch mit großen "x". :-) Viele Wege führen nach Rom ...

Nochmals vielen Dank mit dem positiven Look-Behind!

LG, Martin

GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

Marco Morgenthaler
Beiträge gesamt: 2474

21. Aug 2008, 16:36
Bewertung:

gelesen: 1017

Beitrag als Lesezeichen
Martin, auch diese «Lösung» ist doch unnötig kompliziert (bzw. unübersichtlich, fehleranfällig, rechenintensiv).
Suchen nach: (\d)[xX](\d)
Ändern in: $1 x $2
tut es doch auch … aber gut, Hauptsache, es funktioniert.
Gruss, Marco

(Dieser Beitrag wurde von Marco Morgenthaler am 21. Aug 2008, 16:36 geändert)

GREP für "7,5x7,8 cm" zu "7,5 x 7,8 cm" (CS3)

muelli75
Beiträge gesamt: 42

21. Aug 2008, 17:00
Bewertung:

gelesen: 992

Beitrag als Lesezeichen
Hi!


Da habt ihr völlig recht. Ich bin da zu verbohrt an meine "Komma"-Sache rangegangen. Werd das nächste Mal offener an meine GREP-Probleme rangehen - kann viel bringen wie man an euren Beispiel sieht.

LG, Martin