Ich bin ein totaler Anfänger, Kodieren zum ersten Mal und versuchen zu lernen, indem Sie tun. Ich verwende diese:Wie bekomme ich "saubere" Treffer in Python
import re
f = open('aaa.txt', 'r')
string=f.read()
c = re.findall(r"Guest last name: (.*)", string)
print "Dear Mr.", c
die
Dear Mr. ['XXXX']
ich wieder frage mich, ist es eine Möglichkeit, das Ergebnis wie
Dear Mr. XXXX
statt zu bekommen?
Vielen Dank im Voraus.
Ist das wahr, dass Sie nur einen Namen bis zum Ende der Zeile haben? Ich würde etwas wie '\ S +' anstelle von '. *' - 'r" Gast Nachname: (\ S +) "' verwenden. Oder '\ S *' wenn es leer sein kann. Überprüfen Sie das Ergebnis vor der Verwendung. –
Jedes Mal, wenn etwas zurückgibt ['etwas'], bedeutet dies, dass es in einem Array ist und Sie müssen darauf zugreifen mit [n] wobei n die Position des Elements im Array ist. –
Glücklicherweise hat das exportierte Dokument, das ich in Python lese, 1 String pro Zeile, also habe ich eine sehr einfache Zeit mit Regex. Jedoch werde ich immer noch versuchen, es genauer zu machen, sowohl für den eigentlichen Code als auch um Regex zu lernen. –