Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP Suchen/Ersetzen von Wochentagen

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

GREP Suchen/Ersetzen von Wochentagen

Beobachter
Beiträge gesamt: 136

7. Mai 2018, 15:45
Beitrag # 1 von 19
Bewertung:
(6577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guete Tag
In einer Grepsuche möchte ich die Wochentage finden: Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag

Ersetzten möchte ich die Wochentage in die jeweils ersten beiden Buchstaben

Mo, Di, Mi, Do, Fr, Sa, So

Beispiel: Suche Montag ersetze mit Mo

Kann ich alle Wochentage in einer Suchen/Ersetzen Abfrage machen und wenn ja wie, wie lautet die entsprechende Grep Suche.

Danke für eure Hilfe.
Gruess, Michel
X

GREP Suchen/Ersetzen von Wochentagen

Ralf Hobirk
Beiträge gesamt: 5961

7. Mai 2018, 16:15
Beitrag # 2 von 19
Beitrag ID: #563796
Bewertung:
(6572 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Beobachter,

ich würde das S&E mit einem kleinen Script durchführen:

Code
app.findTextPreferences = null;  
app.changeTextPreferences = null;
app.findTextPreferences.findWhat = 'Montag';
app.changeTextPreferences.changeTo = 'Mo';
app.activeDocument.changeText();

]app.findTextPreferences = null;
app.changeTextPreferences = null;
app.findTextPreferences.findWhat = 'Dienstag';
app.changeTextPreferences.changeTo = 'Di';
app.activeDocument.changeText();


Für die restlichen Wochentage einfach duplizieren.

Wenn du deutlich mehr als diese 7 Begriffe hast, empfiehlt sich ein Script, dass eine CSV-Liste auslesen kann. Ich mache damit z. B. Übersetzungen von Deutsch auf Englisch.


als Antwort auf: [#563793]

GREP Suchen/Ersetzen von Wochentagen

Beobachter
Beiträge gesamt: 136

7. Mai 2018, 17:04
Beitrag # 3 von 19
Beitrag ID: #563798
Bewertung:
(6560 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für das Grep.
Trotzdem nochmals, ginge auch eine S/E Abfrage?


als Antwort auf: [#563796]

GREP Suchen/Ersetzen von Wochentagen

Ralf Hobirk
Beiträge gesamt: 5961

7. Mai 2018, 17:14
Beitrag # 4 von 19
Beitrag ID: #563799
Bewertung:
(6556 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist kein GREP, sondern Text S&E ;-) Gibt's natürlich auch mit GREP.

S&E-Mehrfachsuche mit einer Abfrage geht nicht.


als Antwort auf: [#563798]

GREP Suchen/Ersetzen von Wochentagen

Beobachter
Beiträge gesamt: 136

7. Mai 2018, 17:23
Beitrag # 5 von 19
Beitrag ID: #563800
Bewertung:
(6554 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, sorry, ich meinte natürlich ein Script und nicht Grep.
Das heisst, in einem Script ist eine mehrfache S/E Abfrage möglich, aber nicht in im "klassischen" S/E Fenster.
Danke, nochmals.


als Antwort auf: [#563799]

GREP Suchen/Ersetzen von Wochentagen

Ralf Hobirk
Beiträge gesamt: 5961

7. Mai 2018, 17:28
Beitrag # 6 von 19
Beitrag ID: #563802
Bewertung:
(6550 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
;-)

Mit dem richtigen Script sind die Möglichkeiten fast unbegrenzt. Vieles in ID geht nicht im GUI, sondern nur per Script.


als Antwort auf: [#563800]

GREP Suchen/Ersetzen von Wochentagen

Thomas Richard
Beiträge gesamt: 19327

7. Mai 2018, 17:45
Beitrag # 7 von 19
Beitrag ID: #563803
Bewertung: ||
(6547 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Such mal damit:

Code
(?<=Mo|Di|Mi|Do|Fr|Sa|So)(ntag|enstag|ttwoch|nnerstag|eitag|mstag|nntag) 

und ersetze durch 'nichts'.

Findet auch Sattwoch und Domstag, sollten aber eigentlich nicht vorkommen ;-)

Etwas absichern liesse es sich, wenn man hinter die zu tilgenden Teile noch ein zu findendes Wortende setzt, so würde ein Mittwochmorgen nicht zerstört:
Code
(?<=Mo|Di|Mi|Do|Fr|Sa|So)(ntag|enstag|ttwoch|nnerstag|eitag|mstag|nntag)\> 



als Antwort auf: [#563798]
(Dieser Beitrag wurde von Thomas Richard am 7. Mai 2018, 17:48 geändert)

GREP Suchen/Ersetzen von Wochentagen

Thomas Richard
Beiträge gesamt: 19327

7. Mai 2018, 21:24
Beitrag # 8 von 19
Beitrag ID: #563809
Bewertung:
(6498 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Auch 'Mittwochs Ruhetag’ würde vom zweiten GREP verschont.

In dem Fall natürlich nicht durch 'nichts' ersetzen sondern durch
Code
\> 



... was aber nicht funktioniert. Er setzt dann \> ein ... grmpfl!


... also, obigem Grep noch einen positiven Lookahead verpasst:

Code
(?<=Mo|Di|Mi|Do|Fr|Sa|So)(ntag|enstag|ttwoch|nnerstag|eitag|mstag|nntag)(?=\>) 


Und doch ne leere 'Ändern in:' Zeile.


PS: Falls Erklärung fürs wie und warum erwünscht ist, einfach melden. Falls selbsterklärend, auch gut ;-)


als Antwort auf: [#563803]
(Dieser Beitrag wurde von Thomas Richard am 7. Mai 2018, 21:30 geändert)

GREP Suchen/Ersetzen von Wochentagen

Thomas Richard
Beiträge gesamt: 19327

7. Mai 2018, 21:47
Beitrag # 9 von 19
Beitrag ID: #563811
Bewertung:
(6492 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habs gerade auch mal für die Monate und eine Verkürzung auf drei Buchstaben umgestrickt:

Code
(?<=Jan|Feb|Mär|Apr|Mai|Jun|Jul|Aug|Sep|Okt|Nov|Dez)(uar|ruar|z|il|i|ust|tember|ober|ember)(?=\>) 


Ersetzung je nach Gusto per 'nichts' oder Punkt.

Je üppiger die Kombinationsliste aus voranstehenden Bedingungsbuchstaben und eigentlichen Fundstücken wird, je größer das Risiko, etwas zu erwischen, was man eigentlich nicht finden wollte, in dem Fall z.B. Märi oder Dezi.
Oder umgekehrt, der Mai als nicht zu kürzender Monat flutscht auch durch.


als Antwort auf: [#563809]

GREP Suchen/Ersetzen von Wochentagen

Beobachter
Beiträge gesamt: 136

8. Mai 2018, 10:17
Beitrag # 10 von 19
Beitrag ID: #563816
Bewertung:
(6406 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Thomas für deine Arbeit, deine Beispiele helfen mir schon deutlich weiter.
Gruess, Michel


als Antwort auf: [#563811]

GREP Suchen/Ersetzen von Wochentagen

Ingo Herber
Beiträge gesamt: 454

8. Mai 2018, 14:17
Beitrag # 11 von 19
Beitrag ID: #563826
Bewertung:
(6382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

sehr schöner GREP.
Nur stutze ich ein wenig, da ich März als Mrz und nicht Mär abgekürzt hätte. Nur klappt das dann nicht mehr mit der Formel. :-)
Die Schreibweise "Mrz" gibt auch Windows im Datumsformat vor, das ist (glaube ich) auch die DIN-Schreibweise. So auf Anhieb habe ich aber nichts bei Duden gefunden.

Gruß,
Ingo


als Antwort auf: [#563816]

GREP Suchen/Ersetzen von Wochentagen

Thomas Richard
Beiträge gesamt: 19327

8. Mai 2018, 14:58
Beitrag # 12 von 19
Beitrag ID: #563827
Bewertung:
(6375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ingo,


wie du selber bemerkt hast, ist es es was ganz anderes, ob ich von 7 oder 12 Worten alles bis auf die ersten 2 oder 3 Buchstaben wegschneide, oder bei einem davon auch in den Innereien herumfuhrwerke.

Im ersten Fall suche ich 7*7=49 (von denen es aber nur 7 gebräuchliche gibt) respektive 11*11=121 verschiedene Wörter, trenne sie ALLE in einen zu erhaltenden Bestandteil und den Rest, der einfach IMMER getilgt wird.

Somit müsste der März gesondert gehandelt werden, wenn man es denn Normgerecht bräuchte, da es nicht mehr erwünscht ist, ALLE Funde IMMER gleich zu behandeln:

Suche nach:
Code
(?<=\<M)(ärz)(?=\>) 

Ändern in:
Code
rz. 



als Antwort auf: [#563826]
(Dieser Beitrag wurde von Thomas Richard am 8. Mai 2018, 15:07 geändert)

GREP Suchen/Ersetzen von Wochentagen

Ingo Herber
Beiträge gesamt: 454

8. Mai 2018, 16:22
Beitrag # 13 von 19
Beitrag ID: #563834
Bewertung:
(6363 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,
vielen Dank für die ausführliche Antwort.

Zitat ...von denen es aber nur 7 gebräuchliche gibt

... mittlerweile hört man auch öfter vom Framstag. :-)
Also Vorsicht, wenn die Suche bei Texten von PENNY ausgeführt wird.

Gruß,
Ingo


als Antwort auf: [#563827]

GREP Suchen/Ersetzen von Wochentagen

Thomas Richard
Beiträge gesamt: 19327

8. Mai 2018, 22:55
Beitrag # 14 von 19
Beitrag ID: #563841
Bewertung:
(6317 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Also Vorsicht, wenn die Suche bei Texten von PENNY ausgeführt wird.

Keine Bange, der GREP ist framstagssicher.

Weil, wie bei der von dir gewünschten Mrz.-Abkürzung in diesem Fall ein zusätzlicher Buchstabe hinzugekommen ist. Framstag enthält den 2. Buchstaben des Wortes Freitag und des Wortes Samstag, wird somit also nicht von meinem GREP gefunden nur Frmstag oder Saeitag würden Probleme bereiten.

Ums für die nicht programmieraffinen zu verdeutlichen:

Einer Abkürzung, die wirklich nur hinten kürzt, also am Ende abschneidet, was vernachlässigbar erscheint, ist mit den obigen Methoden beizukommen.

Bei deutschen KFZ-Kennzeichen wären das zum Beispiel: F-rankfurt, K-öln, DA-rmstadt oder BO-chum.

Abkürzungen die eigentlich Komprimierungen sind, also zwischendrin Wortteile weg lassen, ist so nicht beizukommen, als Beispiel A-schaffen-B-urg, M-ain-Z oder H-ansestadt H-amburg, wo dann erschwerend auch noch ne Wortgrenze hinzukommt.

Wenn eben kein regulärer Ausdruck (das RE in GREP steht für Regular Expression) vorliegt, dem eine konkrete Gleichförmigkeit oder Struktur innewohnt, ist man mit den von Ralf anfangs angesprochenen Ersetzungslisten deutlich besser bedient, die den Text ein ums andere mal auf der Suche nach EINEM konkreten Suchbegriff abgrast, um das ganze dann für die nächsten Listeneinträge zu wiederholen.


als Antwort auf: [#563834]

GREP Suchen/Ersetzen von Wochentagen

pixxxelschubser
Beiträge gesamt: 1708

8. Mai 2018, 23:05
Beitrag # 15 von 19
Beitrag ID: #563842
Bewertung:
(6315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,
nette Spielwiese.
Wink

Ein paar kleine Gedanken dazu:
Anstatt alles mit einzeln hintereinander geschalteten Oder-Verkettungen
Code
(?<=Mo|Di|Mi|Do|Fr|Sa|So)(ntag|enstag|ttwoch|nnerstag|eitag|mstag|nntag)(?=\>) 

könntest du die „Endungen“ der Wochentage etwas performanter mit
Code
(nn)?e??[enmr]??([inst]tag|ttwoch)\b 

finden.


Und um es mit deinen Worten zu sagen
Zitat … Etwas absichern liesse es sich, wenn man [edit] unter Zuhilfenahme eines negativen Lookbehinds nach den kompletten Wochentagen sucht [\edit], so würde ein Mittwochmorgen und ein [edit]St. Nimmerleinstag[\edit] nicht zerstört …

also etwa in der Art:
Code
(D[io]|Fr|M[io]|S[ao])\K(nn)?e??[enmr]??([inst]tag|ttwoch)\b 


Wahrscheinlich gibt es auch noch deutlich besserer Varianten – aber leider ist mein Grep in letzter Zeit etwas eingerostet.


als Antwort auf: [#563834]
X