Wir haben Benutzer, die auf eine E-Mail antworten, und wir müssen das in der Tabelle angegebene Datum abrufen.Regex zum Abrufen des Werts aus der Tabelle
Im Moment habe ich den folgenden Code ein, dass für uns zu tun:
$temp = ($Mail.Body.Text -creplace '(?m)^\s*\r?\n' -split "User name`r`n`tLogon name`r`n`tEnd date`r`n`tNew end date")[1]
(($temp -split "`r`n`t")[3] -split "`r`n")[0]
Wie Sie sehen, es ist ziemlich lang und sehr viel auf -split
angewiesen zu sein. Gibt es eine einfachere Möglichkeit, das Datum abzurufen? Mit Select-String
oder Regex
oder etwas?
Das Tabellenformat in der E-Mail ist immer gleich, da die Benutzer das Datum in der HTML-Tabelle eingeben müssen. Also müssen wir in der Lage sein, diese Tabelle zu lesen. Im folgenden Beispiel wäre das Ergebnis 01/08/2016
.
Beispiel einer solchen E-Mail:
Date added below
From: GBR Service Desk
Sent: Wendesday 29 juni 2016 7:00
To: Bond, James (London) GBR
Subject: REMINDER Expiring user:
Importance: High
Dear James
This is a reminder e-mail to inform you that the following Windows user account will expire soon:
User name
Logon name
End date
New end date
Smith, Jobn (Manchester) GBR
jent
01/07/2016
01/08/2016
Because you are registered as the manager of this user, we would like to ask you to verify if this account is still nee
ded after its end date. More text...
Yours sincerely
Vielen Dank für Ihre Hilfe.
Das ist ein wirklich guter Tipp! Danke Mathias :) Aber manchmal tippen sie da etwas wie "8 Augustus". In diesem Fall muss ich das haben .. – DarkLite1
@ DarkLite1: Und wie viele Formate/menschliche Sprachen werden Sie unterstützen? Fügen Sie das dem Fragenkörper hinzu. –
Ich stimme zu, markiert dies als gelöst. – DarkLite1