Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Partnummern trennen mit GREP?“

Kristkindl

Noch nicht viel geschrieben

Hallo,

ich habe eine Menge Partnummern, die ich durch ein - trennen muss.
Sind Neulinge im GREP Bereich, aber vielleicht gibt es da ja einen Weg?

Partnummern trennen mit GREP?

Ausgangsformat: 17100245
Endformat: 1710-0245


Habe einige Foren mit ähnlichen Problemen durchgeschaut und dachte erst sowas wie:
(\d\d\d\d\d\d\d\d) in ($1$2$3$4-$5$6$7$8 )

Aber sowas geht nicht :D

Vielleicht hat Jemand eine Idee?
LG
 

Design & Layout

Ellersiek

JedenTag ein wenig besser

AW: Partnummern trennen mit GREP?

Du bist schon auf dem richtigen Weg: Die runden Klammern gruppieren und werden über $ abgerufen:
Suchen: (\d\d\d\d)(\d\d\d\d)
Ersetzen: $1-$2

oder noch eleganter:
Suchen: (\d{4})(\d{4})
Ersetzen $1-$2

Gruß
Ralf
 
Zuletzt bearbeitet:

Kristkindl

Noch nicht viel geschrieben

AW: Partnummern trennen mit GREP?

GEIL!
Das ERSTE hat geklappt...beim Zweiten tut sich nix.
Ahh dann verstehe ich den Code langsam...
DANKE :)
 
AW: Partnummern trennen mit GREP?

Beide Greps von Ellersiek sind korrekt und sollten (richtige Schreibweise deinerseits vorausgesetzt) funktionieren. Der zweite Grep ist der bessere, aber das hat dir Ellersiek bereits geschrieben.
icon_nick.gif


Der Aufbau dieses Grep setzt allerdings eines voraus: durchgehend 8-stellige Ziffernfolgen.

Ich persönlich würde den Grep etwas „verkomplizieren“. Dafür muss dann von InDesign nur noch ein Suchstring intern gespeichert werden und der Grep würde auch wirklich nur bei 8-stelligen Ziffernfolgen greifen.

suchen nach:
(?<=\<\d{4})(\d{4}\>)
ersetzen durch:
-$1

P.S. Selbst dein eigener allererster Grep würde bei richtiger Klammersetzung funktionieren (auch wenn niemand einen solchen Grep schreiben bzw. einsetzen würde).

suche nach:
(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)
ersetzen durch:
$1$2$3$4-$5$6$7$8

Viel Spass beim Greppen.
icon_nick.gif
 

Kristkindl

Noch nicht viel geschrieben

AW: Partnummern trennen mit GREP?

Oh super, das ist gut mit dem Code für 8 Stellage Partnummern.
Danke!

Nun haben wir auch noch 7 Stellage Zahlen in der Liste dazwischen, welche wiederum ganz anders getrennt werden.
Ich habe es mit der angegebenen Formel hinbekommen, dass er sie an der 2ten und 5ten Stelle trennt aber er bezieht sich dann auch auf 8 Stellige Zahlen.
Wie kann ich es hinbekommen, dass er nur die 7 stelligen beachtet?

Ist:
12345678
1234567

Soll:
1324-5678
12-345-67


Ist es auch möglich Zahlen zu ändern, die schon einen Strich enthalten?
Sonst müssten wir erst den Schritt gehen und die Striche entfernen lassen...und später wieder einsetzen.

Ist:
1234-567

Soll:
12-345-67
 
AW: Partnummern trennen mit GREP?

Zunächst eine Grundsatzfrage:

Wo möchtest du dein Thema fortführen?

Hier auf PSD-Tutorials oder auf HDS?

Bis zur Beantwortung dieser Frage (die generell nur bei Crosspostings! gestellt werden muss) kannst du dir ja schon einmal überlegen, ob es noch weiter Ausnahmen geben könnte. Zum Einen sollte der Grep ja mehrfach über das Dokument laufen können, um auch nach Änderungen noch zu funktionieren. Zum Anderen besteht immer die Frage, ob sich vielleicht Ziffernfolgen im Dokument befinden, die den Grep funktionsunfähig machen könnten.

Aus diesem Grund wäre es zweitens sinnvoll, eine kurze Beispieldatei als IDML (z.B. auf xup.in) hochladen könntest. Sehr von Vorteil sind Vorher-Nachher-Beispiele in einer Datei nebeneinander. Dann müssen sich die Helfenden nicht immer eigene Beispieldateien zusammenbasteln. Denn das Witzige ist: die eigenen Beispieldateien der Helfenden funktionieren, weil sie auf das Problem zugeschnitten werden. Die Beipieldateien der Hilfesuchenden haben zumeist noch das eine oder andere „Gimmick“ im Hintergrund – und deshalb funktioniert dann nicht immer alles so, wie es geplant bzw. gewünscht war.

In Erwartung deiner Antworten
 

Kristkindl

Noch nicht viel geschrieben

Hallo,
Bin gerade überfragt was HDS ist...habe versucht nachzuschauen aber so gut kenn ich mich hier nicht aus :(
Ich finde aber schon dass es hier richtig ist, denn es handelt sich ja um INDESIGN und Grep.

Ich habe hier mal eine Beispieldatei erstellt:
Die grünen Bereiche sind die Werte wie sie fertig formatiert werden sollen.
darunter direkt das Ausgangsformat, was wir per Excel direkt in Indesign einfügen.
Es sind zu 99% 8stellige Zahlen 12345678, aber die Trennung ist meist unterschiedlich.
Zudem kann es vorkommen, dass noch 1-3 Zahlen mehr stehen, dies sind später meist Fußnoten.

Es ist ja auch kein Problem wenn man mehrere Greps durchführt bzw für jede Formatierung ein Grep. Es muss ja nicht alles in EINEM Grep sein, da es ja variiert.

Hoffe das hilft etwas :/

Danke
 
Was HDS ist?
:D

Das ist das andere Fachforum, in dem du zeitgleich die gleiche Frage als Crossposting gestellt hast:
http://www.hilfdirselbst.ch/foren/P...view=forum_view_collapsed;;page=unread#unread

Habe ich schon einmal erwähnt, dass ich Crosspostings (die nicht miteinander verlinkt sind) überhaupt nicht mag?

Aber wenn wir jetzt hier sind, dann bleiben wir auch hier.
Ich schau mir deine Datei im Verlaufe des Tages einmal an und dann sehen wir weiter.

Und ja, man kann das (ungesehen) sicherlich mit mehreren Greps „erschlagen“. Aber das Ziel ist es eigentlich immer, einen Grep zu finden, der so allgemeingültig wie nur möglich ist, möglichst keine falsch positiven und ebensowenig falsch negative Treffer landet und dadurch sehr effektiv arbeitet.
 
Sorry für den Doppelpost, aber ein Edit wäre eventuell untergegangen.

Aufgrund welcher Regel erkennt man, wann, welche und wieviele der letzten Ziffern zusätzlich noch hochgestellt werden müssen?
 

Ellersiek

JedenTag ein wenig besser

Noch ein paar Gegenfragen:
6-stellig wird IMMER xx-xxxx
7-stellig wird IMMER xx-xxx-xx
8-stellig wird IMMER xxxx-xxxx
formatiert?
Fußnoten sind immer einstellig?
Maximal 9 Fußnoten?
Fußnoten gibt es nur bei 8-stelligen Angaben?

Gruß
Ralf
 

Kristkindl

Noch nicht viel geschrieben

Sorry pixxxelschubser, jetzt weiss ich was HDS ist ;)
Ich poste meist in mehreren Foren, in der Hoffnung mehr Leute zuerwischen, finde da nun nix schlimmes dran..aber naja...jedem das seine!
Wusste nicht, dass du auch dort unterwegs bist.

Es ist eben bei unserer Arbeit nicht alles festgelegt. Es gibt viele Abweichungen...und manchmal brauch man eben auch nur einen GREP um zb eine Partnummer in 2 Bereiche zu trennen. 1324-5678. Das ist meist Standard, der Rest ist Ausnahme.

Das mit den Hochgestellten Zahlen ist schwer zu erkennen..hm.
Kann man meist nur aus Exceldokumenten erkennen.
Deswegen würde ich so eintragen, das ist meist nicht viel. Also nicht beachten. War nur ein Beispiel in der Datei.

Richtig Ellersiek, So sollte die Aufteilung immer sein. Warum auch immer unsere Amis das so machen ;)
Wie gesagt, Fußnoten mal ganz vergessen..wird mir zu kompliziert sonst ;)

Danke
 
<OT>
Nur kurz zum Anlesen ---> Thema Crossposting:

Vielleicht verstehst du dann meine Meinung etwas besser.
</End OT>

Aber zurück zum Thema:
Ich würde deine Datei mit 3 Grep S&E behandeln. Die Fussnoten müssen dabei aber als Erstes behandelt werden!!! (Das Komma kann jetzt noch nicht in die Fussnoten eingefügt werden, da die Anzahl und Definition von dir z.Z. nicht klar geregelt ist. Um die Kommata einzubauen wäre dann im Anschluß noch ein vierter Grep notwendig.)

1.) Also zuerst die Fussnoten mit einem Zeichenformat versehen. Dadurch können dann später auch die Kommata ganz problemlos eingepflegt werden.
Suchen nach:
(?<=^\d{8})(\d+)
Ersetzen durch:
nur Zeichenformat rot hoch

(Man könnte natürlich an dieser Stelle auch noch einen Leerraum vor den Fussnotenziffern einbauen.)


2.) Danach die 6er und 8er-Folgen

Suchen nach:
(^\d{2})(?=\d{4}$)|(^\d{4})(?=\d{4,}$)
Ersetzen durch:
$0-


3.) Danach die 7er-Folgen


Suchen nach:
(?<=^\d{2})(\d{3})(?=\d{2}$)
Ersetzen durch:
-$1-


Hier ein Screenshot deiner Datei. Ich habe deine zweite Zeile einfach in eine dritte Zeile kopiert. In der zweiten Zeile wurde mit Grep S&E ersetzt. INFO: In der dritten Zeile wurden die Grep-Ausdrücke als Grep-Stile in deinem Absatzformat eingebaut, um zu zeigen, welche Zeichen durch den Grep gefunden werden.


Hier noch die IDML (mir stand deine Helvetica nicht zur Verfügung, das musst du noch zurücktauschen)
Der Filehoster löscht die Datei irgendwann automatisch.


Viel Spass
;)
 
Noch eine Ergänzung (als separater Beitrag, damit diese nicht überlesen wird)

Du kannst mehrere Suchabfragen mit dem InDesign-Out-of-box-Skript FindChangeByList.jsx kombinieren. Diese Abfragen werden dann in einem Rutsch nacheinander abgearbeitet.

Du solltest dich allerdings im Netz etwas in die Bedienung einlesen. Die Suchausdrücke müssen in einem Skript geringfügig anders definiert werden. Das ist dann aber auch schon alles.

Bis dann
;)
 

Ellersiek

JedenTag ein wenig besser

Was aber auch daran liegen kann, dass das @Kristkindl deinen Beitrag noch nicht gelesen hat, da es das letzte Mal am Dienstag um 15:58 das letzte mal hier (eingeloggt) gesehen wurde (und außerdem ist ja auch nicht schon wieder Weihnachten:)).

Ich habe mir abgewöhnt, mit schnellen Antworten der TO zu rechnen. Sicher, sie haben meist auch noch ein (Arbeits-)Leben außerhalb von psd-tutorials. Da ich aber nicht jeden Thread, auf den ich geantwortet habe, abonniere, muss der TO, der sich halt nur in großen Abständen hier meldet, damit leben, dass ich seinen Thread aus den Augen verliere.

was ich weniger verstehe, ist, warum solche TO sich nicht wenigstens ihre eigenen Threads abonnieren. So würden sie wenigstens eine EMail bekommen, wenn auf Ihren Thread geantwortet wird.

Naja, vielleicht weiß er das gar nicht, dass es solche Möglichkeiten gibt....

Super Grep übrigens: Ich sag, Du bist der Grep-Papst:daumenhoch

Gruß
Ralf
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.856
Mitglieder
67.222
Neuestes Mitglied
Gregor
Oben