Text ohne Zeilenumbruch ausgeben

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
DMD-OS
User
Beiträge: 165
Registriert: Freitag 28. Dezember 2018, 13:52

hallo

wie kann man eigentlich einen längeren Text OHNE Zeilenumbruch ausgeben, obwohl man im code min. einen zeilenumbruch drin hat???

Code: Alles auswählen

            text = """Hallo wie geht es dir? 
            Ich hoffe sehr gut. 
            Vielleicht sieht man sich demnächst. 
            Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. 
            Das wär doof.
            """
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Suchst du sowas?

Code: Alles auswählen

print("".join(text.split("\n")))
bzw.

Code: Alles auswählen

print(" ".join(text.split()))
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Du darfst halt keinen Zeilenumbruch in Deinem Text haben:

Code: Alles auswählen

text = ("Hallo wie geht es dir? "
"Ich hoffe sehr gut. "
"Vielleicht sieht man sich demnächst. "
"Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. "
"Das wär doof.")
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Oder meinst du sowas?

Code: Alles auswählen

text1 = "Hallo wie geht es dir? \
Ich hoffe sehr gut. \
Vielleicht sieht man sich demnächst. \
Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. \
Das wär doof."
text2 = "Hallo wie geht es dir? Ich hoffe sehr gut. Vielleicht sieht man sich demnächst. Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. Das wär doof."
print(text1)
print("-------")
print(text2)
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Oder sowas? :D :D :

Code: Alles auswählen

text = """Hallo wie geht es dir? 
    Ich hoffe sehr gut. 
    Vielleicht sieht man sich demnächst. 
    Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. 
    Das wär doof."""

for x in text:
    if x == "\n":
        continue
    print(x, end = "")
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sirius3 hat geschrieben: Freitag 17. Januar 2020, 13:12 Du darfst halt keinen Zeilenumbruch in Deinem Text haben:

Code: Alles auswählen

text = ("Hallo wie geht es dir? "
"Ich hoffe sehr gut. "
"Vielleicht sieht man sich demnächst. "
"Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. "
"Das wär doof.")
Entweder so. Oder wenn man es in der Quelle nicht beeinflussen kann:

Code: Alles auswählen

' '.join(text.split())
Wenn die Texte sehr lang sind und/oder das auf sehr viele Texte angewendet werden muss, dann kann man andere Ansätze nutzen, um Ressourcen zu sparen. Aber zunächst würde ich so vorgehen wie in der o.g. Codezeile.
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Oder einfach mit einem regulären Ausdruck:

Code: Alles auswählen

re.sub(r'\s+', ' ', text)
Da spart man sich die Liste als Zwischenschritt.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Mit replace() könntest du auch noch Arbeiten.

Code: Alles auswählen

text = """Hallo wie geht es dir? 
    Ich hoffe sehr gut. 
    Vielleicht sieht man sich demnächst. 
    Vielleicht in der Stadt oder im Dorf oder sonstwo, aber vielleicht auch nicht. 
    Das wär doof."""

print(text.replace("\n", ""))
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Jankie hat geschrieben: Freitag 17. Januar 2020, 15:46 Mit replace() könntest du auch noch Arbeiten.
Wobei man dann noch die Leerzeichen von den Zeilenanfängen drin hätte, sofern der Text wie angegeben strukturiert ist.
DMD-OS
User
Beiträge: 165
Registriert: Freitag 28. Dezember 2018, 13:52

ok. danke euch allen.
jetzt hab ichs :)
Antworten