Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern > mit grep in suchen/ersetzen

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

comicsansgegner
Beiträge gesamt: 6

10. Jan 2019, 17:17
Bewertung:

gelesen: 6420

Beitrag als Lesezeichen
Halli Hallo! Habe ein Grep Problem: <br>Ich möchte bei Zahlen mit vier oder mehr Ziffern nach der dritten Ziffer ein Achtelgeviert einfügen. Das funktioniert super mit dieser Abfrage:
Code
(?<=\d)\d(?=\d{3}\b)|\d(?=(\d{3}){1,}\b) 

1000 wird zu 1 000, Nun mein Problem: Wenn die Zahl nun mehrere Kommastellen hat (1000,1111) fügt es bei der dritten Ziffer nach dem Komma jedoch auch ein Achtelgeviert ein (also 1 000,1 111). Mir ist bewusst, dass ich die Zahlen besser mit einem Grep-Stil bearbeiten sollte, jedoch werden bei dem Projekt leider keine Absatzformate verwendet und ich muss es mit suchen/ersetzen lösen. Vielen Dank für Eure Antworten! :)

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

Thomas Richard
Beiträge gesamt: 19334

10. Jan 2019, 17:46
Bewertung:

gelesen: 6410

Beitrag als Lesezeichen
Hallo comicsansgegner,

ohne es jetzt ausprobiert zu haben:
\b steht für Wortgrenze, was ja ein regulär gesetztes Komma einschließt.

Wenn du also als letzte Bedingung das \b durch einen beliebigen Leerraum \s ersetzt, müsste das *eigentlich* die Modifikationen der Nachkommastellen unterbinden.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

comicsansgegner
Beiträge gesamt: 6

11. Jan 2019, 09:15
Bewertung:

gelesen: 6309

Beitrag als Lesezeichen
Hi Thomas

Guter Ansatz!
Funktioniert aber leider nicht :/ Es findet die Nachkommastellen trotzdem weil ja dahinter auch ein Leerraum ist. Es müsste irgendwie eine Möglichkeit geben, sagen zu können: Finde alles vor dem Komma...

Hast du noch eine andere Idee? ;)

MfG
comicsansgegner

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

MarioF
Beiträge gesamt: 390

11. Jan 2019, 10:06
Bewertung:

gelesen: 6298

Beitrag als Lesezeichen
Hallo,
dann schieße das Komma an der Wortgrenze aus
Code
(?<=\d)\d(?=\d{3}[\b^,])|\d(?=(\d{3}){1,}[\b^,]) 

---
Viele Grüße
Mario

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

comicsansgegner
Beiträge gesamt: 6

11. Jan 2019, 10:37
Bewertung:

gelesen: 6288

Beitrag als Lesezeichen
Hi Mario

Dies hab ich auch schon probiert, es funktioniert auch super bei den Kommazahlen. Die Nachkommastellen werden nicht verändert.

Nur das Problem: Nun findet es keine Zahlen ohne Komma...
Also wird jetzt 4000,4142 perfekt zu 4 000,4142 korrigiert jedoch 4000 oder 54000 nicht :(

Hast auch du vielleicht eine weitere Idee? :)

Vielen Dank
comicsansgegner

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

Kai Rübsamen
  
Beiträge gesamt: 4684

11. Jan 2019, 12:19
Bewertung:

gelesen: 6258

Beitrag als Lesezeichen
Funktioniert das?

Code
(?<!,)(?=\b\d{4,}\b)\d{1,3}(?=(\d{3})+\b)|\d{3,6}(?=(\d{3})+\b) 



Gruß Kai Rübsamen

Anhang:
GREP-zahlen.png (91.7 KB)

Kommazahlen mit vier oder mehr Ziffern: Achtelgeviert nach drei Ziffern> mit grep in suchen/ersetzen

comicsansgegner
Beiträge gesamt: 6

11. Jan 2019, 13:57
Bewertung:

gelesen: 6213

Beitrag als Lesezeichen
Hi Kai Rübsamen

Es funktioniert!! Danke 1000!

Lieber Gruss
comicsansgegner