So entfernen Sie alle Leerzeichen aus der Zeichenfolge
Wie kann ich die Streifen alle Räume in einem python-string? Zum Beispiel, ich möchte einen string wie strip my spaces
sich in stripmyspaces
aber ich kann nicht scheinen zu erreichen, die mit strip()
:
>>> 'strip my spaces'.strip()
'strip my spaces'
InformationsquelleAutor der Frage wrongusername | 2010-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nutzen str.split ' s Verhalten mit Nein sep-parameter:
Wenn Sie wollen einfach nur Leerzeichen entfernen, statt alle whitespace:
Vorzeitige Optimierung
Obwohl Effizienz ist nicht das primäre Ziel—das schreiben von code klar ist—hier sind einige erste timings:
Hinweis: die regex-Cache, es ist also nicht so langsam wie man sich das vorstellt. Kompilieren Sie es vorher hilft einigen, aber Sie würde nur die Materie in der Praxis, wenn Sie nennen diese viele mal:
Obwohl neu.sub ist 11,3 x langsamer, denken Sie daran, Ihre Engpässe sind sicherlich anderswo. Die meisten Programme würden nicht bemerken den Unterschied zwischen diesen 3 Möglichkeiten.
InformationsquelleAutor der Antwort
Übernimmt auch alle whitespace-Zeichen, dass Sie nicht denken (glauben Sie mir, es gibt viele).
InformationsquelleAutor der Antwort Tim Yates
Alternativ
Und hier ist Python ist3 version:
InformationsquelleAutor der Antwort Dan Menes
Einfachsten ist die Verwendung ersetzen:
Alternativ können Sie einen regulären Ausdruck:
InformationsquelleAutor der Antwort carl
InformationsquelleAutor der Antwort PrabhuPrakash
Versuchen, eine regex mit
re.sub
. Sie können die Suche für alle Leerzeichen und ersetzt Sie durch einen leeren string.\s
in Ihr Muster passen whitespace-Zeichen - und nicht nur ein Leerzeichen (Tabstopps, Zeilenumbrüche, etc). Lesen Sie mehr über es in der Anleitung.InformationsquelleAutor der Antwort Matthew Iselin
Wie erwähnt von Roger Pate folgenden code der bei mir funktioniert ist:
Ich bin mit Jupyter Notebook ausführen folgenden code:
InformationsquelleAutor der Antwort Yogesh