Wie entfernt man Leerzeichen aus einem String in Python

Einführung

In diesem Tutorial werden Beispiele für verschiedene Methoden gegeben, wie Sie in Python Leerzeichen aus einem String entfernen können.

A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.

Bereitstellen Sie Ihre Python-Anwendungen von GitHub aus mit der DigitalOcean App Platform. Lassen Sie DigitalOcean die Skalierung Ihrer App übernehmen.

Die Beispiele in diesem Tutorial verwenden die Python-Interaktive Konsole in der Befehlszeile, um verschiedene Methoden zum Entfernen von Leerzeichen zu demonstrieren. Die Beispiele verwenden den folgenden String:

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

Die Ausgabe ist:

Output
Hello World From DigitalOcean Hi There

Dieser String enthält verschiedene Arten von Leerzeichen und Zeilenumbruchzeichen, wie Leerzeichen ( ), Tabulator (\t), Zeilenumbruch (\n) und Wagenrücklauf (\r).

Entfernen Sie führende und abschließende Leerzeichen mit der Methode strip()

Die Python-String-Methode strip() entfernt führende und abschließende Zeichen aus einem String. Das standardmäßige zu entfernende Zeichen ist das Leerzeichen.

Deklarieren Sie die String-Variable:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Verwenden Sie die Methode strip(), um führende und abschließende Leerzeichen zu entfernen:

  1. s.strip()

Die Ausgabe ist:

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

Wenn Sie nur die führenden Leerzeichen oder abschließenden Leerzeichen entfernen möchten, können Sie die Methoden lstrip() und rstrip() verwenden.

Entfernen Sie alle Leerzeichen mit der Methode replace()

Sie können die Methode replace() verwenden, um alle Leerzeichen aus dem String zu entfernen, einschließlich der Leerzeichen zwischen Wörtern.

Erklären Sie die Zeichenkettenvariable:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Verwenden Sie die Methode replace(), um Leerzeichen durch einen leeren String zu ersetzen:

  1. s.replace(" ", "")

Die Ausgabe ist:

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

Entfernen Sie doppelte Leerzeichen und Zeilenumbruchzeichen mit den Methoden join() und split()

Sie können alle doppelten Leerzeichen und Zeilenumbrüche entfernen, indem Sie die join()-Methode mit der split()-Methode verwenden. In diesem Beispiel teilt die split()-Methode den String in eine Liste auf, wobei der Standard-Trennzeichen ein beliebiges Leerzeichen ist. Dann fügt die join()-Methode die Liste wieder zu einem String zusammen, wobei zwischen jedem Wort ein einzelnes Leerzeichen (" ") steht.

Deklarieren Sie die String-Variable:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Verwenden Sie die join()– und split()-Methoden zusammen, um doppelte Leerzeichen und Zeilenumbrüche zu entfernen:

  1. " ".join(s.split())

Die Ausgabe ist:

Output
'Hello World From DigitalOcean Hi There'

Entfernen Sie alle Leerzeichen und Zeilenumbrüche mit der translate()-Methode

Sie können alle Leerzeichen und Zeilenumbrüche mithilfe der translate()-Methode entfernen. Die translate()-Methode ersetzt angegebene Zeichen durch Zeichen, die in einem Wörterbuch oder einer Zuordnungstabelle definiert sind. Das folgende Beispiel verwendet ein benutzerdefiniertes Wörterbuch mit der Zeichenfolgenkonstante string.whitespace, die alle Leerzeichen enthält. Das benutzerdefinierte Wörterbuch {ord(c): None for c in string.whitespace} ersetzt alle Zeichen in string.whitespace durch None.

Importieren Sie das Modul string, damit Sie string.whitespace verwenden können:

  1. import string

String-Variable deklarieren:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Verwenden Sie die translate()-Methode, um alle Leerzeichen zu entfernen:

  1. s.translate({ord(c): None for c in string.whitespace})

Die Ausgabe ist:

Output
'HelloWorldFromDigitalOceanHiThere'

Leerzeichen mit Regex entfernen

Sie können auch einen regulären Ausdruck verwenden, um Leerzeichen zu finden und sie mit der re.sub()-Funktion zu entfernen.

In diesem Beispiel wird die folgende Datei, regexspaces.py, verwendet, um einige Möglichkeiten zu zeigen, wie Sie mit Regex Leerzeichen entfernen können:

regexspaces.py
import re

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='')  # \s passt zu allen Leerzeichen
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^ passt zum Anfang
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $ passt zum Ende
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | für ODER-Bedingung

Führen Sie die Datei von der Befehlszeile aus:

python3 regexspaces.py

Sie erhalten die folgende Ausgabe:

Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There  
Remove trailing spaces using regex:
  Hello  World   From DigitalOcean 	
	Hi There
Remove leading and trailing spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There

Fazit

In diesem Tutorial haben Sie einige Methoden kennengelernt, um Leerzeichen aus Zeichenketten in Python zu entfernen. Setzen Sie Ihr Lernen über Python-Zeichenketten fort.

Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string