unbekannten Text in einer eMail finden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
RJ3n53n
User
Beiträge: 2
Registriert: Freitag 6. Januar 2017, 10:51
Wohnort: Meiningen

Guten Abend,
zuerst wünsche ich ein gesundes neues Jahr und hoffe, dass Ihr alle eine guten Start in 2019 hattet!

Ich schreibe gerade an einem Programm, welches regelmäßig in einen Mail-Account per imap einwählt und eine Mail von einem bestimmten Absender sucht.
Das Programm sucht dann in der Mail nach einem bestimmten Stichwort. Wenn es dieses findet kopiert es das Wort plus eine ganze Zeile mit Zeichen in einen String. Am Ende der Zeile stehen dann ein paar Wörter, die ich mir herauskopieren will. Es kommt einzig auf diese an. Das erste Stichwort ist nur um die Textstelle in der eMail zu finden. Die Wörter, am Ende dieser Textstelle können aber varierien, so dass die Suche so wie eben beschrieben durchführen muss. Zwischen dem Suchwort und den "Nutz"-Wörtern stehen einige html-Tags. Diese würde ich gerne verwerfen.
Bisher suche ich nach regulären Ausdrücken.

Code: Alles auswählen

Einsatzstichwort:\s>/td>.+?<td width="auto" valign="top" align="left" style="?s+?font-familiy:arial;font-size:12pt;color:black;font-weight:bold;word-break:break-all;">.{45}
Das funktioniert bisher recht gut. Das Ergebnis lasse ich mir probeweise ausdrucken:

Code: Alles auswählen

['Einsatzstichwort: </td>\\r\\n <td width="auto" valign="top" align="left" style=" font-family:arial;font-size:12pt;color:black;font-weight:bold;word-break:break-all;">brk\\xc2\\xa0(Brand klein\\xc2\\xa0</td>\\r\\n ']
Nun zu meinem Problem: Ich will die Tags sowie die Steuerzeichen verwerfen um nur den Text - in diesem Fall brk - Brand klein zu behalten. Ich hab dazu mit strip und split experimentiert. Aber eine gescheite Lösung bekomme ich bisher nicht hin. Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht.

Ich hoffe auf einen Denkanstoß und bedanke mich schon an dieser Stelle
Viele Grüße, René
Benutzeravatar
__blackjack__
User
Beiträge: 14036
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@RJ3n53n: Vergiss am besten sofort wieder HTML mit regulären Ausdrücken beikommen zu wollen. Dafür gibt es HTML-Parser. Schau Dir mal BeautifulSoup an.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
RJ3n53n
User
Beiträge: 2
Registriert: Freitag 6. Januar 2017, 10:51
Wohnort: Meiningen

Danke, das werde ich gleich mal tun.
Antworten