Wie man Leerzeichen in einem String in Python entfernt

Jinku Hu 3 Januar 2023
  1. Entfernen von Leerzeichen am Anfang einer Zeichenkette in Python
  2. Entfernen von Leerzeichen am Ende einer Zeichenkette in Python
  3. Whitespaces am Anfang und am Ende einer Zeichenkette in Python entfernen
  4. Entfernen Sie alle Leerzeichen einer Zeichenkette in Python
  5. Entfernen Sie nur die doppelten Whitespaces einer Zeichenkette in Python
Wie man Leerzeichen in einem String in Python entfernt

Es zeigt Ihnen unten, wie Sie die Whitespaces aus einem String entfernen können. Es könnte hauptsächlich in zwei verschiedene Ansätze eingeteilt werden, der eine ist Python str Methoden, wie str.split() und str.replace(); der andere ist Python Methode für reguläre Ausdrücke.

Wir werden in den folgenden Beispielen den String " Demo Example " als den zu verarbeitenden String verwenden.

Entfernen von Leerzeichen am Anfang einer Zeichenkette in Python

str.lstrip() Methode

>>> demo = " Demo  Example  "
>>> demo.lstrip()
"Demo  Example  "

Hier entfernt die Methode str.lstrip() die im Methodenargument angegebenen führenden Zeichen. Wenn kein Argument angegeben wird, entfernt sie einfach die führenden Whitespaces.

Python regex Methode

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+", "", demo)
"Demo  Example  "

^ erzwingt, dass Regex nur den passenden String an seinem Anfang findet, und \s bedeutet, dass alle verschiedenen Arten von Whitespaces wie Whitespace, Tabulator, Return, etc. übereinstimmen, oder anders gesagt, es ist gleich der Sammlung dieser Sonderzeichen [ \t\n\r\f\v]. + gibt an, dass es mit möglichst vielen Leerzeichen übereinstimmen sollte.

Sie könnten sich auf dieses Python Tutorial für reguläre Ausdrücke beziehen, um mehr über Regex zu erfahren.

Entfernen von Leerzeichen am Ende einer Zeichenkette in Python

str.rstrip() Methode

Im Gegensatz zu str.lstrip(), das die Zeichen am Anfang des Strings abstreift, streift str.rstrip() die Zeichen am Ende des Strings ab.

>>> demo = " Demo  Example  "
>>> demo.lstrip()
" Demo  Example"

Python regex Methode

In ähnlicher Weise sollten Sie einen Ausdruck verwenden, der mit den Leerzeichen am Ende der Zeichenkette übereinstimmt.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+$", "", demo)
" Demo  Example"

Whitespaces am Anfang und am Ende einer Zeichenkette in Python entfernen

str.strip() Methode

str.strip() ist die Kombination aus str.lstrip() und str.rstrip(), um Leerzeichen am Anfang und am Ende der Zeichenkette zu eliminieren.

>>> demo = " Demo  Example  "
>>> demo.strip()
"Demo  Example"

Python regex sub() Methode

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"^\s+|\s+$", "", demo)
"Demo  Example"

Entfernen Sie alle Leerzeichen einer Zeichenkette in Python

Python string replace Methode str.replace()

Es ist nicht notwendig, die Position der weißen Fläche zu überprüfen. Daher könnten Sie die str.replace() Methode verwenden, um alle Whitespaces durch den leeren String zu ersetzen.

>>> demo = " Demo  Example  "
>>> demo.replace(" ", "")
'DemoExample'

Python string regex replace sub() Methode

Der Regex-Ausdruck konnte nur \s+ sein, um zu den Whitespaces zu passen.

>>> import re
>>> demo = " Demo  Example  "
>>> re.sub(r"\s+", "", demo)
"DemoExample"

Entfernen Sie nur die doppelten Whitespaces einer Zeichenkette in Python

Python String-Split-Methode str.split()

>>> demo = " Demo  Example  "
>>> " ".join(demo.split())
'Demo Example'

str.split() gibt eine Liste der Unter-Zeichenkette in der Zeichenkette zurück, wobei Whitespaces als Begrenzungszeichenkette verwendet werden.

Python regex split Methode re.split()

>>> import re
>>> demo = " Demo  Example  "
>>> " ".join(re.split(r"\s+", demo)
" Demo Example "
Warnung
Die Ergebnisse von re.split() und str.split() sind unterschiedlich, wobei re.split() einen leeren String am Anfang oder Ende der Liste hat, wenn der String an diesen Positionen Whitespaces hat, aber str.split() keine leere Zeichenkette in seinem Ergebnis enthält.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - Python String