[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP: Spatium zwischen Zahl und Bruch

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

GREP: Spatium zwischen Zahl und Bruch

Martin Fischer
  
Beiträge gesamt: 12775

4. Dez 2007, 14:10
Beitrag # 1 von 7
Bewertung:
(5224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde per GREP gerne ein Spatiom zwischen einer Zahl und einem Bruch einfügen.

Mit folgendem Ausdruck finde ich die Stellen (möglicherweise steht ein Leerzeichen zwischen Zahl und Bruch):
Code
(?<=\d) ?(?=([½¼¾])) 


Aber wenn ich es durch
Code
~< 

ersetzen will, passiert gar nichts.


Suche ich nach Gruppen
Code
(\d) ?([½¼¾]) 

und ersetze durch
Code
$1~<$2 

funktioniert das.


Warum funktioniert der Suche-Ersetze Vorgang nicht über die obige Definition mit lookaround?
X

GREP: Spatium zwischen Zahl und Bruch

Gerald Singelmann
  
Beiträge gesamt: 6269

4. Dez 2007, 14:26
Beitrag # 2 von 7
Beitrag ID: #325590
Bewertung:
(5214 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das funktioniert bei mir, wenn da ein Leerzeichen zwischen steht.
Das lässt die Schlussfolgerung zu, dass grep nicht Nichts gegen Etwas ersetzen kann. Es muss also mindestens ein Zeichen gefunden worden sein (und nicht nur ein insertion point), um eine Ersetzung durchzuführen.

Das würde erklären, weshalb ich mir mal angewöhnt habe, nach
(.)\Z
und nicht nur nach
\Z
zu suchen, wenn ich am Ende von Textabschnitten was anhängen will.


als Antwort auf: [#325579]

GREP: Spatium zwischen Zahl und Bruch

Martin Fischer
  
Beiträge gesamt: 12775

4. Dez 2007, 14:34
Beitrag # 3 von 7
Beitrag ID: #325592
Bewertung:
(5210 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

Antwort auf: Das lässt die Schlussfolgerung zu, dass grep nicht Nichts gegen Etwas ersetzen kann.

Das klingt vernünftig.
Danke.

Seltsam nur, daß das Nichts zwar über "Suchen" gefunden wird (und die Einfügemarke an dem Nichts blinkt), aber danach das Etwas nicht eingefügt werden kann.
Weder über "Alle ändern", noch über "Ändern" noch über "Suchen/Ersetzen" (die beiden letzten Begriffe stehen wohl in der verkehrten Reihenfolge).


als Antwort auf: [#325590]

GREP: Spatium zwischen Zahl und Bruch

Marco Morgenthaler
Beiträge gesamt: 2474

4. Dez 2007, 14:41
Beitrag # 4 von 7
Beitrag ID: #325595
Bewertung:
(5208 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

Peter Kahrel, Short Cut, GREP, S. 38: … location markers can be used to insert something at a location, but since the location marker is not a character, you need some kind of character to get a handle on the positioin right before or after the location marker.

Angewandt auf dein Beispiel, könnte der GREP-Ausdruck mit Lookaround folgendermassen funktionieren:
Code
Suchen nach: (.)(?<=\d) ?(?=[½¼¾]) 
Ändern in: $1~<


EDIT: Sorry, das geht nicht wie gewünscht, denn dadurch wird dem vorhandenen Leerraum (wenn denn schon einer steht) ein weiterer hinzugefügt. Es scheint also nicht mit Lookaround zu funktionieren.

Die runden Klammern um die Gruppe beim Lookahead in deinem Ausdruck sind übrigens nicht notwendig.

Dies nur als Ergänzung zu Geros Anmerkung.
Gruss, Marco


als Antwort auf: [#325592]
(Dieser Beitrag wurde von Marco Morgenthaler am 4. Dez 2007, 14:58 geändert)

GREP: Spatium zwischen Zahl und Bruch

Martin Fischer
  
Beiträge gesamt: 12775

4. Dez 2007, 15:06
Beitrag # 5 von 7
Beitrag ID: #325600
Bewertung:
(5182 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

danke für Deine Mühe.

Antwort auf: Die runden Klammern um die Gruppe beim Lookahead in deinem Ausdruck sind übrigens nicht notwendig.

Ja, die habe ich glatt übersehen, nachdem ich alles Mögliche ausprobiert hatte.


als Antwort auf: [#325595]

GREP: Spatium zwischen Zahl und Bruch

Marco Morgenthaler
Beiträge gesamt: 2474

4. Dez 2007, 15:39
Beitrag # 6 von 7
Beitrag ID: #325614
Bewertung:
(5158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

ich konnte jetzt wenigstens den Lookbehind in einen funktionierenden GREP-Ausdruck hinüberretten =;o)

Code
Suchen nach: (?<=\d)(\s?)([½¼¾]) 
Ändern in: ~<$2


Interessant, dass $2 im Ersetzen-Feld immer auf den Bruch verweist, auch wenn kein Leerzeichen (\s) vorhanden ist.

Schönen Abend
Marco


als Antwort auf: [#325600]

GREP: Spatium zwischen Zahl und Bruch

Martin Fischer
  
Beiträge gesamt: 12775

4. Dez 2007, 15:51
Beitrag # 7 von 7
Beitrag ID: #325621
Bewertung:
(5151 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Interessantes Konstrukt.

Aber ganz ohne Gruppe kommst Du auch nicht aus.
In diesem Fall bevorzuge ich die Gruppenlösung oben: "(\d) ?([½¼¾])"
Da erkenne ich schnelller, um was es geht. ;-)


als Antwort auf: [#325614]
X