[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP Zifferngliederung

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

GREP Zifferngliederung

Sonador
Beiträge gesamt: 157

31. Okt 2014, 12:54
Beitrag # 1 von 7
Bewertung:
(3147 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich habe ein GREP geschrieben, das Ziffern mit 5-9 Stellen in Dreierschritten von rechts nach links mit einem Achtelgeviert gliedert.

Suchen:
((?<=\d)(\d{3}))?((?<=\d\d)(\d{3}))\b

Ersetzen:
~<$1~<$4

Das Problem ist nur, dass bei 5- und 6-stelligen Zahlen zwei Achtelgevierte platziert werden.

Hat jemand eine Idee?
Bitte eine Lösung mit GREP ohne Skripte.



Ursprünglich hatte ich diese Variante:

Suchen:
(\d)\.?(?=(\d\d\d)+\b)

Ersetzen:
$1~<

Hier wird nicht automatisch die ganze Zahlenkolonne gegliedert, sondern man muss nacheinander in 3er-Schritten suchen und ersetzen. Dabei findet diese Variante auch 4-stellige Zahlen, die ich nicht gliedern möchte.


Danke schon mal.

Viele Grüße
Michael
X

GREP Zifferngliederung

drerol74
Beiträge gesamt: 507

1. Nov 2014, 02:29
Beitrag # 2 von 7
Beitrag ID: #533615
Bewertung:
(3059 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

versuch mal den Ausdruck:

Code
(?x) ((?<!\d{5})\d{2}(?=(\d{3})\>) | (?<!\d{3})\d(?=\d{6}\>)) 


Code
$1~< 


Nur am Ende eines Textabschnittes sollte die Zahl halt nicht stehen.

Schöne Grüße
Roland


als Antwort auf: [#533591]
(Dieser Beitrag wurde von drerol74 am 1. Nov 2014, 02:31 geändert)

GREP Zifferngliederung

Marco Morgenthaler
Beiträge gesamt: 2474

3. Nov 2014, 14:04
Beitrag # 3 von 7
Beitrag ID: #533695
Bewertung:
(2922 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo allerseits

Eine längere Diuskussion zu diesem Thema gab es vor sieben Jahren. Auf der Basis eines Greps von Peter Kahrel fanden wir damals eine Lösung:
http://www.hilfdirselbst.ch/..._P312677.html#312677

Gruss, Marco


als Antwort auf: [#533615]

GREP Zifferngliederung

Sonador
Beiträge gesamt: 157

7. Nov 2014, 02:29
Beitrag # 4 von 7
Beitrag ID: #533850
Bewertung:
(2810 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Roland,

sorry für die späte Rückmeldung.
Dein Ausdruck funktioniert super. Danke!
Kannst du genauer beschreiben, wann er nicht funktioniert?
Am Ende eines Textabschnittes funktioniert er nämlich ebenfalls.

@Marco:
Deine Lösung aus dem Thread:

Suchen nach: (?<=\d)(\d)(?=(\d\d\d)+\b)|(\d)(?=(\d\d\d){2, }\b)
Ändern in: $0~<

funktioniert bei 7-stelligen Zahlen nicht. Zumindest bei mir.

Viele Grüße


als Antwort auf: [#533615]

GREP Zifferngliederung

drerol74
Beiträge gesamt: 507

7. Nov 2014, 14:40
Beitrag # 5 von 7
Beitrag ID: #533870
Bewertung:
(2708 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

siehe Screenshot im Anhang: Wenn die Zahl direkt vor dem Textabschnittsende (Raute-Zeichen) steht, beispielsweise wenn deine Zahlen in Tabellen-Zellen wären.

Du kannst dein Dokument aber nach solchen Stellen durchsuchen:
Code
(?x)\d+\Z 


Schöne Grüße
Roland


als Antwort auf: [#533850]
(Dieser Beitrag wurde von drerol74 am 7. Nov 2014, 14:41 geändert)

Anhang:
zahlengruppen.jpg (108 KB)

GREP Zifferngliederung

Sonador
Beiträge gesamt: 157

8. Nov 2014, 17:00
Beitrag # 6 von 7
Beitrag ID: #533885
Bewertung:
(2623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Stimmmt, doof.

Kann man das nicht irgendwie in den Suchausdruck integrieren?
Beispielsweise Finde "Wortende" oder "Textabschnittsende"?

Habs probiert, klappt aber leider nicht.

Danke und Grüße
Michael


als Antwort auf: [#533870]

GREP Zifferngliederung

Sonador
Beiträge gesamt: 157

8. Nov 2014, 18:25
Beitrag # 7 von 7
Beitrag ID: #533886
Bewertung:
(2591 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So, ich habe eine Lösung gefunden. :)

Der wahrscheinlich längste Suchbegriff in der Geschichte des GREP:

Code
(?x) ((\d)(?=(\d{9})\b)) | ((\d{3})(?=(\d{6})\b)) | ((\d)(?=(\d{6})\b)) | ((\d{3})(?=(\d{3})\b)) | ((\d{2})(?=(\d{3})\b)) 


Code
$0~< 


Sucht zuerst die Milliardenstelle, dann die Millionenstelle, und anschließend die Tausenderstelle.

1000 bleiben unangetastet.
Und funktioniert an Textabschnittsenden und in Tabellen.


Falls jemand eine Fehlfunktion findet, bitte melden.

Grüße
Michael


als Antwort auf: [#533885]
(Dieser Beitrag wurde von Sonador am 8. Nov 2014, 18:26 geändert)
X