Hey, ich hoffe ihr könnt mir weiterhelfen.
Ich habe folgendes Problem:
Ich muss aus einem str die einen großen Teil entfernen. Der Aufbau des stringes ist immer der gleiche.
Bsp.:
Subject: Liveblog: ++ Weitere Lockerungen in Schleswig-Holstein ++
From: "tagesschau" <>
Date: Wed, 15 Jul 2020 17:39:56 +0200
Content-Type: text/html; charset="utf-8"
Link: htp://www.tagesschau.de/newsticker/liveblog-c ... h-123.html
Ab kommender Woche sind in Schleswig-Holstein wieder Veranstaltungen mit bis zu 500 Besuchern erlaubt. In den USA sind erstmals mehr als 67.000 Corona-Neuinfektionen binnen 24 Stunden gemeldet worden. Alle Entwicklungen im Liveblog.
->Ich hab den str in einer Variablen. Ich möchte aber als Ausgabe nur den unteren Teil, ohne die Metadaten. Der Aufbau des str ist immer gleich. Also es ist immer ein bzw. zwei Absätze zwischen Link und Text. Mein Ausgabe sollte es folgende sein:
Ab kommender Woche sind in Schleswig-Holstein wieder Veranstaltungen mit bis zu 500 Besuchern erlaubt. In den USA sind erstmals mehr als 67.000 Corona-Neuinfektionen binnen 24 Stunden gemeldet worden. Alle Entwicklungen im Liveblog.
Jemand eine Idee wie ich das angehen kann? Vielen Dank!
Inhalt aus string entfernen
@zweitklassigerCoder,
wenn immer 5 Zeilen wegfallen, ist es sehr einfach:
Falls es doch mal mehr oder weniger Zeilen gibt muss man sich eine andere Strategie überlegen. Wichtig ist, dass man Kriterien findet die immer zutreffen.
wenn immer 5 Zeilen wegfallen, ist es sehr einfach:
Code: Alles auswählen
LONG_TEXT = """Subject: Liveblog: ++ Weitere Lockerungen in Schleswig-Holstein ++
From: "tagesschau" <>
Date: Wed, 15 Jul 2020 17:39:56 +0200
Content-Type: text/html; charset="utf-8"
Link: htp://www.tagesschau.de/newsticker/liveblog-c ... h-123.html
Ab kommender Woche sind in Schleswig-Holstein wieder Veranstaltungen mit bis zu 500 Besuchern erlaubt. In den USA sind erstmals mehr als 67.000 Corona-Neuinfektionen binnen 24 Stunden gemeldet worden. Alle Entwicklungen im Liveblog.
"""
# Text in einzelne Zeilen zerlegen
all_lines = LONG_TEXT.splitlines()
# Die ersten 5 Zeilen auslassen
my_lines = all_lines[5:]
# Die übrigen Zeilen wieder zu einem string zusammenfügen
my_text = "".join(my_lines)
print(my_text)
"""
Ausgabe:
Ab kommender Woche sind in Schleswig-Holstein wieder Veranstaltungen mit bis zu 500 Besuchern erlaubt. In den USA sind erstmals mehr als 67.000 Corona-Neuinfektionen binnen 24 Stunden gemeldet worden. Alle Entwicklungen im Liveblog.
"""
-
- User
- Beiträge: 6
- Registriert: Dienstag 14. Dezember 2021, 16:32
@rogerb
Die Lösung lag viel näher als ich dachte. Vielen Dank!
Die Lösung lag viel näher als ich dachte. Vielen Dank!
- __blackjack__
- User
- Beiträge: 14078
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@zweitklassigerCoder: Wo kommt denn die Zeichenkette her? Ist das am Ende eine E-Mail nach RFC822 bzw. einem Folgestandard? Und warum steht im Header der Inhalt sei HTML, im Inhalt ist dann aber gar kein HTML zu sehen?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Abgesehen von __blackjack__s Anmerkung hast Du einen Text, der aus einem Header und dem eigentlichen Inhalt besteht, welche durch ein doppeltes Newline getrennt sind:
Code: Alles auswählen
header, content = LONG_TEXT.split("\n\n", 1)
print(content)
-
- User
- Beiträge: 6
- Registriert: Dienstag 14. Dezember 2021, 16:32
@__blackjack__ die Dateien haben wir so erhalten um zu üben. Es wurden keine Angaben zur Quelle gemacht.
-
- User
- Beiträge: 6
- Registriert: Dienstag 14. Dezember 2021, 16:32
@kbr kann man so sagen ^_^
Jedoch habe ich die Aufgabe falsch verstanden, weshalb mir die funktion leider doch nicht hilft. Die Inhalt wird nicht mit absätzen ausgeben, sondern in einer Liste.
Jedoch habe ich die Aufgabe falsch verstanden, weshalb mir die funktion leider doch nicht hilft. Die Inhalt wird nicht mit absätzen ausgeben, sondern in einer Liste.
-
- User
- Beiträge: 6
- Registriert: Dienstag 14. Dezember 2021, 16:32
@sparrow: naja, ich weiß nicht genau wie ich das machen könnte.