Ich habe eine Debatte Datei, die wie folgt aussieht (fett wird für klarere Lesung ergänzt):Schreibleitungen auf Neue Datei aus der Basis-Lautsprecher
TAPPER: Senator Rubio?
RUBIO: Jede Wahl ist wichtig. Ich glaube, das ist die wichtigste Wahl in einer Generation. Denn was bei dieser Wahl auf dem Spiel steht, ist nicht einfach, welche Partei wird verantwortlich sein oder welcher Kandidat gewinnt. Es geht um unsere Identität als Nation und als Volk.
RUBIO: Seit über zwei Jahrhunderten ist Amerika eine außergewöhnliche Nation. Und nun ist es an der Zeit, dass diese Generation tut, was sie tun muss, um es so zu halten. Wenn wir bei dieser Wahl die richtige Wahl treffen, werden unsere Kinder die freiesten und wohlhabendsten Amerikaner sein, die jemals gelebt haben. Und das 21. Jahrhundert wird ein neues amerikanisches Jahrhundert werden.
(APPLAUSE)
TAPPER: Senator Cruz?
CRUZ: Vor 59 Jahren begrüßte Florida meinen Vater in Amerika, als er die Fähre von Kuba nach Key West verließ. Er war 18. Er war voller Hoffnungen und Träume, und doch war er im freiesten Land auf der Erde.
Bei dieser Wahl geht es in dieser Debatte nicht um Beleidigungen. Es geht nicht um Angriffe. Es geht nicht um irgendwelche Personen auf dieser Bühne. Bei dieser Wahl geht es um dich und deine Kinder. Es geht um die Freiheit, die Amerika immer hatte und um sicherzustellen, dass diese Freiheit für die nächste Generation da ist, dass wir verhindern, dass Washington den hart arbeitenden Steuerzahlern Amerikas im Weg steht.
(APPLAUSE)
TAPPER: Herr Trump?
TRUMP: Eines der größten politischen Ereignisse in der Welt passiert derzeit mit der Republikanischen Partei. Millionen und Abermillionen von Menschen gehen zur Wahl und sie wählen. Sie stimmen aus Begeisterung ab. Sie wählen aus Liebe. Einige dieser Leute haben, ehrlich gesagt, nie zuvor gewählt - 50 Jahre alt, 60 Jahre alt, 70 Jahre alt - haben noch nie zuvor gewählt. Wir nehmen Leute von der Democrat Party. Wir nehmen Leute als Unabhängige, und sie kommen alle raus und die ganze Welt spricht darüber. Es ist sehr aufregend. Ich denke, offen gesagt, das republikanische Establishment oder was immer Sie es nennen wollen, sollte sich umarmen, was passiert. Wir haben Millionen von zusätzlichen Menschen beitreten. Wir werden die Demokraten schlagen. Wir werden Hillary oder wer immer es auch sein mag bezwingen. Und wir werden sie gut schlagen.
(APPLAUSE)
ich zwei Dateien aus dieser eine Textdatei erstellen möchten: eine mit der ganzen Rede, die Cruz sagte, die andere eine Datei, die nur den Text Trump gesagt hat, ist. Irgendeine Idee wie? Ich habe den folgenden Regex ausprobiert, der mir erlaubt, den Text jeder Zeile zu finden, die der Kandidat gesagt hat, aber nicht die folgende Zeile, wenn sie von einem Zeilenumbruch unterbrochen wird.
import re
with open('RepDebate_FL.txt') as f:
for line in f:
cruz_regex = str(re.findall(r'CRUZ:.*', line))
trump_regex = str(re.findall(r'TRUMP:.*', line))
if cruz_regex is not None:
print(cruz_regex)
Bedeutung ich diese Linie erhalten:
[ 'CRUZ: Neunundfünfzig Jahre, begrüßte Florida meinen Vater nach Amerika, als er die Fähre von Kuba auf Key West ausstieg. Er war 18. Er war voller Hoffnungen und Träume, und doch war er im freiesten Land auf der Erde.‚]
Aber das nächste leer ist, weil es von Newline gebrochen hat und beginnt nicht mit 'CRUZ:':
[]
Jedwedes Hilfe ist willkommen, TIA.
Verwenden Sie keine Regexes, wirklich. Lies einfach eine Zeile, überprüfe, ob sie mit trump/cruz beginnt und schreibe in die entsprechende Datei, wenn ja. Behalten Sie den Namen des letzten Sprechers im Auge, und halten Sie den Text in der gleichen Datei, bis sich der Sprecher ändert. –
es könnte sich lohnen, etwas mit 're.split (r"^[A-Z] {2,} ", ...) zu machen, aber ich habe momentan keine Zeit es zu testen. –
@MarcB Wie würde ich überprüfen, ob es mit Trump/Cruz beginnt? – dataelephant