[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

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

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

thr33dog
Beiträge gesamt: 10

17. Okt 2017, 15:15
Beitrag # 1 von 13
Bewertung:
(6348 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Möchte ein Skript zusammestellen, welches möglichst viele typographische Textkorrekturen ausgührt. ChainGREP hilft dabei mehrere GREP-Ersetzungen komfortabel nachheinander auszuführen.

Derzeit hänge ich jedoch noch bei einer Abfrage. Das Ziel soll ein Achtelgeviert Abstand zwischen Zahlen und Maßeinheiten sein (egal ob bereits schon ein Leerzeichen im Text vorhanden ist oder nicht).

Code
Suche: 
(\d+)\s?(?=m|cm|mm|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\$|µg|µm)
Ersetze durch:
$1~<$2

Die Suche findet jedoch immer nur das erste Vorkommen in einem Satz oder in einem Absatz. Alle nachfolgenden Einheiten werden ignoriert.
Wie lässt sich die Suchabfrage verfeinern (oofenbar fehlt ein Ende), dass auch alle Vorkommnisse im Dokument gefunden werden?

Besten Dank für eine Ergänzung.

(Dieser Beitrag wurde von thr33dog am 17. Okt 2017, 15:16 geändert)
X

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Ralf Hobirk
Beiträge gesamt: 5961

17. Okt 2017, 15:37
Beitrag # 2 von 13
Beitrag ID: #559979
Bewertung:
(6340 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe jetzt keine Zeit zum Testen, aber du hast doch gar keine Fundstelle $2, weil der zweite Ausdruck in Klammern ein Lookahead ist. Wenn ich mich nicht täusche, müsste folgende Ersetzung hinhauen:

Code
$1~< 



als Antwort auf: [#559977]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

ToniMontanaa
Beiträge gesamt: 426

17. Okt 2017, 15:47
Beitrag # 3 von 13
Beitrag ID: #559980
Bewertung:
(6337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mir gehts wie Ralf, ich hab leider auch keine Zeit zum testen.

Aber versuch mal das "?" hinter deinem \s weg zu lassen.


als Antwort auf: [#559979]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Thomas Richard
Beiträge gesamt: 19327

17. Okt 2017, 18:38
Beitrag # 4 von 13
Beitrag ID: #559984
Bewertung:
(6303 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Aber versuch mal das "?" hinter deinem \s weg zu lassen.

Ich bin da eher bei Ralfs Lösungsansatz, nebst stimmiger Begründung:
Antwort auf: ... du hast doch gar keine Fundstelle $2 ...


Bei deinem Vorschlag gehen 15% und 45mm durch die Lappen.


als Antwort auf: [#559980]
(Dieser Beitrag wurde von Thomas Richard am 17. Okt 2017, 18:40 geändert)

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Medienoperator
Beiträge gesamt: 47

17. Okt 2017, 20:32
Beitrag # 5 von 13
Beitrag ID: #559985
Bewertung:
(6288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probier mal den hier:
Suchen nach:
Code
(\d+)\s*?(m|cm|mm|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\$|µg|µm) 


Ändern in:
Code
$1~<$2 


Grüße, Sascha


als Antwort auf: [#559984]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

thr33dog
Beiträge gesamt: 10

18. Okt 2017, 09:13
Beitrag # 6 von 13
Beitrag ID: #559987
Bewertung:
(6201 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
besten Dank an Ralf, Stefan und Thomas. Natürlich kann hier keine zweite Fundstelle gefunden werden – hatte die falsche Suchabfrage ins Forum reinkopiert (das positive Lookahead gehört nicht rein)

Möchte den Vorschlag von Medienoprator aufgreifen.:
Code
(\d+)\s*?(m|cm|mm|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\$|µg|µm) 

Diese Suchabfrage hat meine eigene angedachte noch verbessert. Es findet aber jeweils nur die erste Einheit in einem Absatz.
Hier ein Beispielssatz:
Zitat Eine 50 cm große und 20 kg schwere Gasflasche mit einem Innendruck von 201 bar wird 2 h lang durch Sonnenstrahlen um 5 °C erhitzt.


Welche Ergänzug der GREP-Abfrage findet alle gewünschten Suchstellen/Einheiten?


als Antwort auf: [#559985]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

ToniMontanaa
Beiträge gesamt: 426

18. Okt 2017, 09:28
Beitrag # 7 von 13
Beitrag ID: #559988
Bewertung:
(6194 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin thr33dog,

Antwort auf: Möchte den Vorschlag von Medienoprator aufgreifen.:
Code
(\d+)\s*?(m|cm|mm|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\$|µg|µm)

Diese Suchabfrage hat meine eigene angedachte noch verbessert. Es findet aber jeweils nur die erste Einheit in einem Absatz.
Hier ein Beispielssatz:
Zitat
Eine 50 cm große und 20 kg schwere Gasflasche mit einem Innendruck von 201 bar wird 2 h lang durch Sonnenstrahlen um 5 °C erhitzt.


Welche Ergänzug der GREP-Abfrage findet alle gewünschten Suchstellen/Einheiten?

Wenn ich das so mit deinem Beispieltext teste, findet und ersetzt es bei mir jede Zahl+Einheit.


als Antwort auf: [#559987]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Kai Rübsamen
  
Beiträge gesamt: 4684

18. Okt 2017, 09:31
Beitrag # 8 von 13
Beitrag ID: #559989
Bewertung:
(6192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also, der Vorschlag von Medienoperator macht mit Ausnahme des variablen Whitespace-Zeichens nichts anderes, als die korrigierte Variante von Ralf. Ich rate, dass die Variante mit einem Lookahead auch etwas schneller ist, da die Fundstellen nicht zwischengespeichert werden müssen.

Das Weglassen von "?" wie von Stefan vorgeschlagen ist keine Option! Bei \s*? kann das Fragezeichen allerdings entfallen, da der GREP aufgrund des nachfolgenden Ausdrucks nicht gierig ist und das Whitespacezeichen bereits durch "*" optional ist.

Du hast auf jeden Fall zwei Probleme:
1. mm wird nicht gefunden, da der Ausdruck bereits mit "m" zufrieden ist > Reihenfolge umstellen
2. mangels Wortgrenzen wird beispielsweise ein "m" auch in einem längeren Wort nach einer Zahl gefunden.

S: (\d+)\s*(?=(mm|cm|m|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\$|µg|µm)\b)
E: $1~<

Falls dieser GREP bei dir nicht funktioniert, liegt es nicht am GREP, sondern an deinem Dokument. Bitte idml zur Verfügung stellen.


als Antwort auf: [#559987]
(Dieser Beitrag wurde von Kai Rübsamen am 18. Okt 2017, 09:35 geändert)

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

thr33dog
Beiträge gesamt: 10

18. Okt 2017, 09:33
Beitrag # 9 von 13
Beitrag ID: #559990
Bewertung:
(6191 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bei mir findets leider nur die erste Stelle: 50 cm
Dann ist die »Suche abgeschlossen«.

Nutze die Suche in InDesign CS6 – scheint an der Version zu liegen (!) in InDesign CC 2017 problemlos möglich.


als Antwort auf: [#559988]
(Dieser Beitrag wurde von thr33dog am 18. Okt 2017, 09:49 geändert)

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

thr33dog
Beiträge gesamt: 10

18. Okt 2017, 10:46
Beitrag # 10 von 13
Beitrag ID: #559991
Bewertung:
(6145 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
existiert ein Workaround für CS6?


als Antwort auf: [#559990]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Kai Rübsamen
  
Beiträge gesamt: 4684

18. Okt 2017, 11:49
Beitrag # 11 von 13
Beitrag ID: #559992
Bewertung:
(6114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ja: (\d+)\s*(?=(mm|cm|m|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\x24|µg|µm)\b)


als Antwort auf: [#559991]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

thr33dog
Beiträge gesamt: 10

18. Okt 2017, 12:01
Beitrag # 12 von 13
Beitrag ID: #559993
Bewertung:
(6109 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: ja: (\d+)\s*(?=(mm|cm|m|km|nm|kg|g|t|h|l|ml|bar|hPa|°C|€|%|\x24|µg|µm)\b)

Besten Dank Kai!!

lag es etwa ernsthaft an dem kleinen Dollarzeichen? …danke!


als Antwort auf: [#559992]

GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten

Kai Rübsamen
  
Beiträge gesamt: 4684

18. Okt 2017, 12:11
Beitrag # 13 von 13
Beitrag ID: #559994
Bewertung:
(6101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ja! Die Funktion des literalen Zeichens u. des Metazeichens sind bis einsch. CS6 unter bestimmten Konstellationen zerschossen und wurden erst in CC gefixt.


als Antwort auf: [#559993]
X