ich verwende zur Identifizierung von Veranstaltungen (Trainings) ein Kürzel, das sich wie folgt zusammensetzt:
"yy-mm-dd (XX) nnnnn Ort"
- Die ersten 8 Zeichen sind dabei immer das Datum: Jahr-Monat-Tag (alle Angaben IMMER 2-stelig)
- Leerzeichen
- zwei Buchstaben in einer Klammer: "(KT)" oder "(TT)" usw. (abschließende Aufzählung s.u.)
- Leerzeichen
- 5 Ziffern (dt. Postleitzahl)
- Leerzeichen
- (deutscher) Ortsname
Nach diesem Schema werden dann auch dazugehörige Ordner und Dateinamen verwendet, z.B.: "20-05-15 (KT) 50996 Köln". Wenn ich also dieses Kürzel habe, dann kann ich z.B. die dazugehörige Teilnehmerliste aufrufen.
Ich möchte nun ein solches Kürzel in einem String suchen und "extrahieren":
Markiere ich also z.B. den Betreff einer E-Mail, der "RE: meine Anmeldung zu [20-05-15 (KT) 50996 Köln]" lautet, dann soll mein Script mir das gesuchte Kürzel auf Tastendruck ins Clipboard schreiben.
Das Kürzel kann dabei irgendwo innerhalb der Markierung stehen (Anfang, Mitte, Ende). Es kann durch "[]" eingerahmt sein, muss es aber nicht. Es wird beendet mit einem " - " oder wie erwähnt mit "]" oder dadurch, dass es am Ende des Strings steht.
Den Anfang meines Scriptes habe ich schon:
Code: Select all
MyAuswahl := "20-05-15 (KT) 50996 Köln - Anmeldung: [email protected]"
RegExMatch(MyAuswahl, "[1-4][0-9]-[0-1][0-9]-[0-3][0-9] \((KT|KA|TT|JT|FT|ET|DT)\) [0-9]{5} ", Kuerzel)
MsgBox, % Kuerzel
Wie finde ich auch noch die Ortsbezeichnung? Wobei zu beachten ist, dass ein Leerzeichen nicht unbedingt den Ortsnamen beendet, wie z.B. bei
"RE: 20-08-21 (KT) 63628 Bad Soden-Salmünster - Anmeldung: Hans.Pumpelmuser at abcdef.de"
... soll herauskommen: "20-08-21 (KT) 63628 Bad Soden-Salmünster"
Danke schon mal für's Lesen.