Entfernen Sie alle Zeilenumbrüche aus einem string
Ich versuche, entfernen Sie alle neue-Zeile-Zeichen aus einem string. Ich habe gelesen, bis auf, wie es zu tun, aber es scheint, dass ich aus irgendeinem Grund nicht in der Lage bin, dies zu tun. Hier wird Schritt für Schritt was ich mache:
string1 = "Hello \n World"
string2 = string1.strip('\n')
print string2
Und ich bin immer noch zu sehen, das neue-Zeile-Zeichen in der Ausgabe. Ich habe versucht mit rstrip als gut, aber ich bin immer noch zu sehen, die das Zeilenende. Kann jemand etwas Licht auf, warum mache ich das falsch? Danke.
- Benennung
str
eine variable ist nicht unbedingt eine gute Idee, wenn man bedenktstr
ist ein built-in - Funktion.
Du musst angemeldet sein, um einen Kommentar abzugeben.
strip
nur entfernt Zeichen vom Anfang und Ende einer Zeichenfolge. Sie verwenden möchtenreplace
:Wie erwähnt von @john, die meisten robuste Antwort ist:
\n
strip()
gibt die Zeichenfolge nach dem entfernen führende und nachfolgende Leerzeichen. sehen docIn Ihrem Fall, können Sie versuchen,ersetzen():
oder Sie können versuchen, diese:
Beantwortung spät, da ich vor kurzem hatte die gleiche Frage beim Lesen von text aus Datei; habe versucht, verschiedene Optionen wie:
Erste option unten erzeugt eine Liste mit dem Namen
alist
mit'\n'
ausgezogen, dann tritt zurück in Volltext (optional, wenn Sie möchten, um nur einen text):Zweite option von unten ist viel leichter und einfacher produziert Zeichenfolge von text mit der Bezeichnung
atext
ersetzen'\n'
mit Platz;Es funktioniert; ich habe es getan. Dies ist sauberer, einfacher und effizienter.
strip() gibt den string zurück, mit führende und nachfolgende Leerzeichen(standardmäßig) entfernt.
So würde es wiederum
" Hello World "
zu"Hello World"
, aber es wird nicht entfernen Sie die \n-Zeichen, wie es ist in der zwischen der Schnur.Versuchen ersetzen().
Wenn die Datei enthält einen Zeilenumbruch in der Mitte des Textes weder
strip()
nochrstrip()
wird das problem nicht lösen,replace()
ist der Weg, um Ihr problem zu lösen