Direkt zum Inhalt

Wie man einen String in Python kürzt: Drei verschiedene Methoden

Lerne die Grundlagen des Abschneidens führender und nachfolgender Zeichen aus einer Zeichenkette in Python.
Aktualisierte 16. Feb. 2025  · 6 Min. Lesezeit

Das Trimmen von Text ist eine grundlegende Aufgabe bei der Verarbeitung von Textdaten in Python, vor allem in der Datenbereinigungs- und -aufbereitungsphase von Data Science-Projekten. Durch das Trimmen werden unerwünschte Zeichen, wie z. B. Leerzeichen, am Anfang und Ende von Zeichenketten entfernt, wodurch deine Daten konsistenter und analysefähiger werden.

In diesem Lernprogramm werde ich dir die drei wichtigsten Methoden zum Trimmen von Zeichenketten in Python vorstellen: .strip(), .lstrip(), und .rstrip(), und ich werde spezielle Anwendungsfälle behandeln, um ihre Vielseitigkeit und Nützlichkeit in realen Szenarien zu demonstrieren.

3 Methoden zum Trimmen eines Strings in Python

Python bietet integrierte Methoden zum Trimmen von Zeichenketten, mit denen sich Textdaten ganz einfach bereinigen und vorverarbeiten lassen. Diese Methoden umfassen

  • .strip(): Entfernt führende und nachgestellte Zeichen (standardmäßig Leerzeichen).
  • .lstrip(): Entfernt führende Zeichen (standardmäßig Leerzeichen) von der linken Seite des Strings.
  • .rstrip(): Entfernt nachstehende Zeichen (standardmäßig Leerzeichen) von der rechten Seite des Strings.

Das Verständnis dieser Methoden ermöglicht eine effiziente Textmanipulation und -aufbereitung, die für jede Data-Science-Aufgabe mit textuellen Daten entscheidend ist.

1. Entfernen von führenden und nachgestellten Leerzeichen aus Strings in Python mit .strip()

Die Methode .strip() wurde entwickelt, um sowohl führende als auch nachgestellte Zeichen aus einer Zeichenkette zu entfernen. Sie wird am häufigsten verwendet, um Leerzeichen zu entfernen. Nachfolgend ein Beispiel, wenn es auf die Zeichenfolge angewendet wird " I love learning Python! ".

text = "   I love learning Python!   "
trimmed_text = text.strip()
print(trimmed_text)  # Output: "I love learning Python!"

Diese Methode ist besonders nützlich für die Standardisierung von Zeichenketten, die unterschiedliche Mengen an führenden und nachfolgenden Leerzeichen enthalten können.

2. Entfernen von führenden Leerzeichen aus Strings in Python mit .lstrip()

Die Methode .lstrip() zielt auf die linke Seite einer Zeichenkette und entfernt führende Zeichen. Standardmäßig werden Leerzeichen entfernt, aber du kannst auch festlegen, dass bestimmte Zeichen entfernt werden. Hier ist die Methode .lstrip(), die auf denselben String " I love learning Python! " aus dem vorherigen Beispiel angewendet wird:

text = "   I love learning Python!   "
left_trimmed_text = text.lstrip()
print(left_trimmed_text)  # Output: "I love learning Python!   "

.lstrip() ist nützlich, wenn du Zeichenketten bereinigen musst, die mit unerwünschten Leerzeichen oder Zeichen beginnen, z. B. in Namenslisten oder kategorischen Daten.

3. Entfernen von Leerzeichen am Ende von Strings in Python mit .rstrip()

Die Methode .rstrip() ergänzt .lstrip(), indem sie nachstehende Zeichen von der rechten Seite eines Strings entfernt. Sie teilt die Flexibilität, anzugeben, welche Zeichen entfernt werden sollen. Hier wird es auf das gleiche Beispiel wie oben angewendet:

text = "   I love learning Python!   "
right_trimmed_text = text.rstrip()
print(right_trimmed_text)  # Output: "   I love learning Python!"

Verwende .rstrip(), wenn du mit Strings zu tun hast, die unerwünschte Zeichen oder Leerzeichen am Ende haben, z. B. Satzzeichen oder Anmerkungen am Ende.

Bestimmte Zeichen aus einem String in Python entfernen

Mit den Methoden zum Trimmen von Strings in Python kannst du festlegen, welche Zeichen am Anfang und am Ende von Strings entfernt werden sollen. Diese Funktion erweitert die Methoden .strip(), .lstrip() und .rstrip() um eine weitere Ebene der Flexibilität und ermöglicht gezieltere Stringbereinigungsoperationen.

Wie wir in unseren Beispielen sehen werden, ist es jedoch wichtig, die inhärenten Grenzen dieser Methoden zu kennen: Sie sind nicht in der Lage, Zeichen aus der Mitte von Zeichenketten zu entfernen oder komplexere musterbasierte Entfernungen durchzuführen. Für solche erweiterten Anforderungen bieten reguläre Ausdrücke (regex ) eine robustere Lösung.

Bestimmte Zeichen aus einer Zeichenkette in Python entfernen mit .strip()

Beginnen wir mit der Methode .strip(). Die Methode .strip() kann so angepasst werden, dass sie nicht nur Leerzeichen, sondern auch bestimmte Zeichen von beiden Enden einer Zeichenkette entfernt. Hier ist ein Beispiel:

text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed)  # Output: "I love learning Python"

Stellen wir uns nun vor, dass unser String tatsächlich "xxxyyy I love learning Python xxxyyy" ist. Da ”xxx” und ”yyy” sowohl am Anfang als auch am Ende des Strings stehen, ist es möglich, beide zu entfernen, indem du das Zeichen 'xy' als zu entfernendes Zeichen angibst. Hier ist es in Aktion!

text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed)  # Output: " I love learning Python "

Wie bereits erwähnt, ist es wichtig zu wissen, dass .strip() keine Zeichen aus der Mitte des Strings entfernen kann. Wenn der zu löschende Text zum Beispiel "!!!I love learning!!! Python!!!"ist, lautet die Ausgabe des obigen Vorgangs ”I love learning!!! Python”. Für komplexere Entfernungsoperationen empfiehlt es sich, reguläre Ausdrücke anstelle der in diesem Lernprogramm beschriebenen Streifenmethoden zu verwenden.

Bestimmte Zeichen aus einer Zeichenkette in Python entfernen mit .lstrip() und .rstrip()

Das Gleiche gilt für die Methoden .lstrip() und .rstrip(). Im Folgenden findest du Beispiele für das Entfernen bestimmter führender und nachfolgender Zeichen in .lstrip() bzw. .rstrip():

text = "!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "I love learning Python!!!"
text = "!!!I love learning Python!!!"
right_char_trimmed = text.rstrip('!')
print(right_char_trimmed)  # Output: "!!!I love learning Python"

Außerdem kann die gleiche Technik zum Entfernen mehrerer Zeichen auch auf .lstrip() und .rstrip()

text = "xxxyyy I love learning Python xxxyyy"
left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed)  # Output: " I love learning Python xxxyyy"
text = "xxxyyy I love learning Python xxxyyy"
right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed)  # Output: "xxxyyy I love learning Python"

Neue Methoden zum Trimmen von Strings in Python 3.9

Mit Python 3.9 wurden str.removeprefix() und str.removesuffix() eingeführt, die bekannte Präfixe oder Suffixe explizit entfernen.

Entfernen eines Präfixes mit removeprefix()

text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text)  # Output: "is_fun"

Entfernen eines Suffixes mit removesuffix()

text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text)  # Output: "data_cleaning"

Leistungsüberlegungen zum Trimmen von Saiten

Bei der Arbeit mit großen Datensätzen ist es wichtig, Strings effizient zu trimmen. .strip() .lstrip() und .rstrip() arbeiten mit einer Zeitkomplexität von O(n). Bei großen Datensätzen kann es jedoch effizienter sein, vektorisierte Operationen in Pandas zu verwenden:

import pandas as pd
df = pd.DataFrame({"text": ["  Data Science  ", "  Machine Learning  "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)

Fazit

Für eine effektive Python-Programmierung ist es unerlässlich, dass du das Trimmen und Manipulieren von Strings verstehst. Während die Methoden .strip(), .lstrip() und .rstrip() den grundlegenden Anforderungen gerecht werden, kann es bei komplexeren Szenarien notwendig sein, sich mit regulären Ausdrücken zu beschäftigen. Wenn du noch mehr lernen möchtest, solltest du dir unser Tutorial über reguläre Ausdrücke ansehen, oder noch besser, den DataCamp Lernpfad "Natural Language Processing in Python " besuchen.

Python von Grund auf lernen

Beherrsche Python für Data Science und erwerbe gefragte Fähigkeiten.
Kostenloses Lernen beginnen

Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel ist Data Science Educator, Speaker und Evangelist bei DataCamp, wo er verschiedene Kurse und Live-Trainings zu Datenanalyse, maschinellem Lernen und Data Engineering veröffentlicht hat. Er setzt sich leidenschaftlich für die Verbreitung von Datenkenntnissen und Datenkompetenz in Organisationen und an der Schnittstelle zwischen Technologie und Gesellschaft ein. Er hat einen MSc in Data Science und Business Analytics. In seiner Freizeit ist er mit seinem Kater Louis unterwegs.

FAQs

Kann ich .strip(), .lstrip() oder .rstrip() verwenden, um numerische Zeichen aus einer Zeichenkette zu entfernen?

Ja, du kannst numerische Zeichen als Ziel für die Entfernung angeben. Zum Beispiel:

text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text)  # Output: "Python"

Wie gehen .strip(), .lstrip() und .rstrip() mit Strings mit gemischten Leerzeichen wie Tabulatoren oder Zeilenumbrüchen um?

Diese Methoden entfernen standardmäßig alle Arten von Leerzeichen, einschließlich Leerzeichen, Tabulatoren(\t) und Zeilenumbrüche(\n). Zum Beispiel:

text = "\t\n  Python Programming  \n\t"
trimmed_text = text.strip()
print(trimmed_text)  # Output: "Python Programming"

Was passiert, wenn ich .strip(), .lstrip() oder .rstrip() bei einer leeren Zeichenkette aufrufe?

Wenn du diese Methoden mit einer leeren Zeichenkette aufrufst, geben sie eine leere Zeichenkette ohne Fehler zurück. Zum Beispiel:

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Themen

Lerne weiter Python!

Lernpfad

Python Data Fundamentals

28hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen