hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
Beobachter I
Beiträge: 97
7. Mai 2018, 15:45
Beitrag #1 von 19
Bewertung:
(3262 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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
Top
 
X
Ralf Hobirk S
Beiträge: 5761
7. Mai 2018, 16:15
Beitrag #2 von 19
Beitrag ID: #563796
Bewertung:
(3257 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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.

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#563793] Top
 
Beobachter I
Beiträge: 97
7. Mai 2018, 17:04
Beitrag #3 von 19
Beitrag ID: #563798
Bewertung:
(3245 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


Danke für das Grep.
Trotzdem nochmals, ginge auch eine S/E Abfrage?
als Antwort auf: [#563796] Top
 
Ralf Hobirk S
Beiträge: 5761
7. Mai 2018, 17:14
Beitrag #4 von 19
Beitrag ID: #563799
Bewertung:
(3241 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


Das ist kein GREP, sondern Text S&E ;-) Gibt's natürlich auch mit GREP.

S&E-Mehrfachsuche mit einer Abfrage geht nicht.

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#563798] Top
 
Beobachter I
Beiträge: 97
7. Mai 2018, 17:23
Beitrag #5 von 19
Beitrag ID: #563800
Bewertung:
(3239 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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] Top
 
Ralf Hobirk S
Beiträge: 5761
7. Mai 2018, 17:28
Beitrag #6 von 19
Beitrag ID: #563802
Bewertung:
(3235 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


;-)

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

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#563800] Top
 
Thomas Richard  M  p
Beiträge: 17715
7. Mai 2018, 17:45
Beitrag #7 von 19
Beitrag ID: #563803
Bewertung: ||
(3232 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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)\> 



MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#563798]
(Dieser Beitrag wurde von Thomas Richard am 7. Mai 2018, 17:48 geändert)
Top
 
Thomas Richard  M  p
Beiträge: 17715
7. Mai 2018, 21:24
Beitrag #8 von 19
Beitrag ID: #563809
Bewertung:
(3183 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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 ;-)


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#563803]
(Dieser Beitrag wurde von Thomas Richard am 7. Mai 2018, 21:30 geändert)
Top
 
Thomas Richard  M  p
Beiträge: 17715
7. Mai 2018, 21:47
Beitrag #9 von 19
Beitrag ID: #563811
Bewertung:
(3177 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#563809] Top
 
Beobachter I
Beiträge: 97
8. Mai 2018, 10:17
Beitrag #10 von 19
Beitrag ID: #563816
Bewertung:
(3091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


Danke Thomas für deine Arbeit, deine Beispiele helfen mir schon deutlich weiter.
Gruess, Michel
als Antwort auf: [#563811] Top
 
Ingo Herber p
Beiträge: 430
8. Mai 2018, 14:17
Beitrag #11 von 19
Beitrag ID: #563826
Bewertung:
(3067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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
_______________________
Windows 10 prof 64bit | Adobe CC 2018.0.1
als Antwort auf: [#563816] Top
 
Thomas Richard  M  p
Beiträge: 17715
8. Mai 2018, 14:58
Beitrag #12 von 19
Beitrag ID: #563827
Bewertung:
(3060 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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. 



MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#563826]
(Dieser Beitrag wurde von Thomas Richard am 8. Mai 2018, 15:07 geändert)
Top
 
Ingo Herber p
Beiträge: 430
8. Mai 2018, 16:22
Beitrag #13 von 19
Beitrag ID: #563834
Bewertung:
(3048 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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
_______________________
Windows 10 prof 64bit | Adobe CC 2018.0.1
als Antwort auf: [#563827] Top
 
Thomas Richard  M  p
Beiträge: 17715
8. Mai 2018, 22:55
Beitrag #14 von 19
Beitrag ID: #563841
Bewertung:
(3002 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/
als Antwort auf: [#563834] Top
 
pixxxelschubser p
Beiträge: 1544
8. Mai 2018, 23:05
Beitrag #15 von 19
Beitrag ID: #563842
Bewertung:
(3000 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP Suchen/Ersetzen von Wochentagen


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.

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#563834] Top
 
« « 1 2 » »  
X