Seite 1 von 1

Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 11:48
von DMD-OS
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.
            """

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 12:50
von Jankie
Suchst du sowas?

Code: Alles auswählen

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

Code: Alles auswählen

print(" ".join(text.split()))

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 13:12
von Sirius3
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.")

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 13:15
von einfachTobi
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)

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 13:25
von Jankie
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 = "")

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 15:17
von snafu
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.

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 15:24
von snafu
Oder einfach mit einem regulären Ausdruck:

Code: Alles auswählen

re.sub(r'\s+', ' ', text)
Da spart man sich die Liste als Zwischenschritt.

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 15:46
von Jankie
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", ""))

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Freitag 17. Januar 2020, 15:51
von snafu
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.

Re: Text ohne Zeilenumbruch ausgeben

Verfasst: Montag 20. Januar 2020, 10:34
von DMD-OS
ok. danke euch allen.
jetzt hab ichs :)