Seite 1 von 1

Inhalt aus string entfernen

Verfasst: Dienstag 14. Dezember 2021, 19:34
von zweitklassigerCoder
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!

Re: Inhalt aus string entfernen

Verfasst: Dienstag 14. Dezember 2021, 20:05
von rogerb
@zweitklassigerCoder,

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.
"""
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.

Re: Inhalt aus string entfernen

Verfasst: Dienstag 14. Dezember 2021, 20:26
von zweitklassigerCoder
@rogerb

Die Lösung lag viel näher als ich dachte. Vielen Dank!

Re: Inhalt aus string entfernen

Verfasst: Dienstag 14. Dezember 2021, 20:30
von __blackjack__
@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?

Re: Inhalt aus string entfernen

Verfasst: Mittwoch 15. Dezember 2021, 16:46
von kbr
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)

Re: Inhalt aus string entfernen

Verfasst: Mittwoch 15. Dezember 2021, 22:24
von zweitklassigerCoder
@__blackjack__ die Dateien haben wir so erhalten um zu üben. Es wurden keine Angaben zur Quelle gemacht.

Re: Inhalt aus string entfernen

Verfasst: Mittwoch 15. Dezember 2021, 22:36
von kbr
Also hattest du kein Problem, sondern Hausaufgaben … ?

Re: Inhalt aus string entfernen

Verfasst: Mittwoch 15. Dezember 2021, 23:22
von zweitklassigerCoder
@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.

Re: Inhalt aus string entfernen

Verfasst: Donnerstag 16. Dezember 2021, 06:39
von sparrow
@zweitklassigerCoder: Na dann los. Der Unterschied ist ja übersichtlich.

Re: Inhalt aus string entfernen

Verfasst: Donnerstag 16. Dezember 2021, 09:20
von zweitklassigerCoder
@sparrow: naja, ich weiß nicht genau wie ich das machen könnte.