Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP soll aus 123456 dies mit Leerstelle machen 123 456

GREP soll aus 123456 dies mit Leerstelle machen 123 456

doremipsum
Beiträge gesamt: 5

11. Nov 2015, 11:09
Bewertung:

gelesen: 2187

Beitrag als Lesezeichen
Ich verzweifle gerade an der "Programmierung" einer GREP Funktion in einem Dokument sämtliche 6-stelligen Zahlen mit einer Leerstelle zu versehen.
Kann mir da jemand helfen?
Danke!!

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Ralf Hobirk
Beiträge gesamt: 5961

11. Nov 2015, 11:39
Bewertung:

gelesen: 2171

Beitrag als Lesezeichen
Hallo (eine Begrüßung ist hier übrigens üblich),

Code
Suche: (\d{3})(\d(3}) 
oder: (\d\d\d)(\d\d\d)
Ersetze: $1 $2


Alternativ könnte man das auch mit einem GREP-Stil machen, so dass die Laufweite hinter der 3. Ziffer entsprechend vergrößert wird. Das würde dann Suchen & Ersetzen überflüssig machen.

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

doremipsum
Beiträge gesamt: 5

11. Nov 2015, 12:14
Bewertung:

gelesen: 2144

Beitrag als Lesezeichen
Hallo Ralf,
danke für deine Antwort und sorry für fehlende Begrüßung, ist mein erster Besuch von einem Forum, mach ich in Zukunft gerne. :-)
Ich habe das versucht aber das Ergebnis ist statt
317172
317172 $2.
Schau mal Anhang, mache ich etwas falsch?
Ups, habe versucht Anhang anzuhängen aber der mokiert dass ich den Anhang speichern soll.
Wie geht das? Finde keinen Button.

Gruss nach Istrien
Carsten

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Thomas Richard
Beiträge gesamt: 19339

11. Nov 2015, 12:30
Bewertung:

gelesen: 2130

Beitrag als Lesezeichen
Hallo Carsten,

Wenn ich Ralfs 1. Suchausdruck von hier kopiere findet er bei mir auch nichts. Tipp es selber mal ein.

Wenn du im S&E Dialog rechts nur auf Suchen klickst, werden dann sauber deine 6stelligen Ziffern markiert?

Wenn ich dein:
Zitat 317172
317172 $2.

richtig interpretiere findet dein Grep die ganze sechstellige Ziffer, und die Ersetzung gibt die per $1 wieder aus gefolgt von einem Leerzeichen und dann den String „$2“, da in der Suche keine zweiter Suchausdruck vorhanden ist.
Gehört der Punkt am Ende zum Ausgegbenen oder ist das ein Satzzeichen?


MfG

Thomas


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

(Dieser Beitrag wurde von Thomas Richard am 11. Nov 2015, 12:37 geändert)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

doremipsum
Beiträge gesamt: 5

11. Nov 2015, 12:56
Bewertung:

gelesen: 2093

Beitrag als Lesezeichen
Hallo Thomas
der Punkt am Ende ist nur Satzzeichen.
Die Funktion (\d\d\d)(\d\d\d) findet sauber alle 6-stelligen.
Aber sind das nicht 2 Suchen, jeweils 3 stellige Zahlenpakete?

Gruss
Carsten

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Ralf Hobirk
Beiträge gesamt: 5961

11. Nov 2015, 13:09
Bewertung:

gelesen: 2066

Beitrag als Lesezeichen
Hallo Carsten (+ Thomas),

ich habe es jetzt erst in ID getestet. Beide GREPs die ich oben angeführt habe, führen bei mir zum gewünschten Ziel.

Edit: Im 1. GREP steckt ein Tippfehler (falsche Klammer), ist mit erst bei Copy/Paste aus meinem Beitrag aufgefallen. Er muss korrekt lauten: (\d{3})(\d{3})

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Ralf Hobirk
Beiträge gesamt: 5961

11. Nov 2015, 13:10
Bewertung:

gelesen: 2060

Beitrag als Lesezeichen
Hallo Carsten,

Antwort auf: Ups, habe versucht Anhang anzuhängen aber der mokiert dass ich den Anhang speichern soll.
Wie geht das? Finde keinen Button.

http://www.hilfdirselbst.ch/...m.cgi?do=membership;

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Thomas Richard
Beiträge gesamt: 19339

11. Nov 2015, 13:11
Bewertung:

gelesen: 2060

Beitrag als Lesezeichen
Grundsätzlich ja.

Die Suche nach (\d\d\d)(\d\d\d) sucht nach drei Ziffern gefolgt von drei Ziffern.

Die Suche (\d{3})(\d{3}) ist Grundsätzlich gleichbedeutend, hier wird eben nur ein Zähler für die Menge der Ziffern verwendet, statt "Suche eine Ziffer“ drei mal zu wiederholen. Allerdings benehmen sich diese beiden Varianten, wenn ich sie hier per Safari über ApfelC und Apfel V in die Grep-Suche von ID bugsiere, unterschiedlich.

Die $-Ausdrücke sind Variablen für die oben gefundenen Ausdrücke in einem runden Klammerpaar.
$1 ersetzt also deine oben gefundene 6stellige Zahl gegen die ersten drei Ziffern, dann kommt ein Leerzeichen, das ist neu, und Sinn der ganzen Übung und dann kommt durch $2 die hintere Hälfte deiner gefundenen 6stelligen Zahl hinten dran.


@Ralf: Jetzt wo du es sagst, sehe ich es auch. Die zweite öffnende, geschwungene Klammer ist bei dir eine runde Klammer, dann kann das ja nicht funktionieren ;-)


Edit2:
Ich hoffe, du hast keine 7 oder noch mehr stelligen Zahlen in deinem Dokument, bei denen wird dann auch jeweils nach den ersten drei Ziffern ein Leerzeichen eingesetzt.
Um das zu verhindern, müsstest du die Umgebung deiner 6stelligen Zahlen noch mit in die Suche einbeziehen, z.B. in dem du nach

Leerzeichen 3Ziffern 3Ziffern Leerzeichen

suchst.


MfG

Thomas


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

(Dieser Beitrag wurde von Thomas Richard am 11. Nov 2015, 13:22 geändert)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

doremipsum
Beiträge gesamt: 5

11. Nov 2015, 13:25
Bewertung:

gelesen: 2035

Beitrag als Lesezeichen
Hallo Ralf, hallo Thomas,

danke euch beiden, das funktioniert!!
GREP ist schon eine geniale Erfindung.

Schönen Tag euch beiden,

Carsten

GREP soll aus 123456 dies mit Leerstelle machen 123 456

Ralf Hobirk
Beiträge gesamt: 5961

11. Nov 2015, 14:22
Bewertung:

gelesen: 1950

Beitrag als Lesezeichen
An Thomas' Anmerkung mit 7- oder mehrstelligen Zahlen hatte ich nicht gedacht. Ein typischer Fall, der bei GREP in die Hose gehen kann.

Statt nach einem Leerzeichen hinter der 6-stelligen Zahl zu suchen, kann man die Suche auch auf ein "Wort" beschränken, das aus 6 Ziffern besteht:

Code
Entweder \b(\d\d\d)(\d\d\d)\b 
oder \b(\d{3})(\d{3})\b

wobei \b die Wortgrenze darstellt.

Das Ersetzen bleibt gleich:
Code
$1 $2 

Noch zur Erklärung: $1 steht für den ersten in Klammern stehenden Ausdruck, $2 für den zweiten ;-)

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)

GREP soll aus 123456 dies mit Leerstelle machen 123 456

doremipsum
Beiträge gesamt: 5

11. Nov 2015, 14:25
Bewertung:

gelesen: 1943

Beitrag als Lesezeichen
Danke :-)