Ich versuche, alle Leerzeichen / Tabulatoren / Zeilenumbrüche in Python 2.7 unter Linux zu entfernen.
Ich habe das geschrieben, das sollte den Job machen:
myString="I want to Remove all white \t spaces, new lines \n and tabs \t"
myString = myString.strip(' \n\t')
print myString
Ausgabe:
I want to Remove all white spaces, new lines
and tabs
Es scheint eine einfache Sache zu sein, aber mir fehlt hier etwas. Soll ich etwas importieren?
python
string
python-2.7
strip
bachurim09
quelle
quelle
Antworten:
Verwenden Sie
str.split([sep[, maxsplit]])
ohnesep
odersep=None
:Aus Dokumenten :
Demo:
Verwenden Sie
str.join
in der zurückgegebenen Liste, um diese Ausgabe zu erhalten:quelle
Wenn Sie mehrere Leerzeichen entfernen und durch einzelne Leerzeichen ersetzen möchten, ist der einfachste Weg ein regulärer Ausdruck wie folgt:
Sie können dann den nachgestellten Leerzeichen mit entfernen,
.strip()
wenn Sie möchten.quelle
quelle
Verwenden Sie die Wieder Bibliothek
Ausgabe:
quelle
AUSGABE:
Schönen Tag!
quelle
Die oben genannten Lösungen, die auf die Verwendung von Regex hinweisen, sind nicht ideal, da dies eine so kleine Aufgabe ist und Regex mehr Ressourcenaufwand erfordert, als die Einfachheit der Aufgabe rechtfertigt.
Folgendes mache ich:
myString = myString.replace(' ', '').replace('\t', '').replace('\n', '')
oder wenn Sie eine Reihe von Dingen entfernen müssten, sodass eine einzeilige Lösung unentgeltlich lang wäre:
quelle
Da es nichts Komplizierteres gibt, wollte ich dies teilen, da es mir geholfen hat.
Das habe ich ursprünglich benutzt:
Unerwünschtes Ergebnis:
Das habe ich geändert in:
Erwünschtes Ergebnis:
Der genaue reguläre Ausdruck, den @MattH erwähnt hatte, hat mir geholfen, ihn in meinen Code einzufügen. Vielen Dank!
Hinweis: Dies ist
python3
quelle