Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Entwicklung Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

In diesem Tutorial lernen Sie, wie Sie mit der split()-Methode von Python eine Zeichenkette in eine Liste von Zeichenketten aufteilen können.

Wenn Sie mit Python-Strings arbeiten, können Sie mehrere eingebaute String-Methoden verwenden, um modifizierte Kopien von Strings zu erhalten, wie z.B. die Konvertierung in Großbuchstaben, die Sortierung eines Strings und mehr. Eine dieser Methoden ist .split(), die einen Python-String in eine Liste von Strings zerlegt.

Am Ende des Tutorials werden Sie Folgendes gelernt haben:

  • wie die Methode .split() funktioniert
  • wie Sie den Split mit den Parametern sep und maxsplit anpassen können

Fangen wir an!

Syntax der split()-Methode in Python

Hier ist die allgemeine Syntax, um die split() -Methode von Python auf jede gültige Zeichenkette anwenden:

string.split(sep, maxsplit)

# Parameter:
sep, maxsplit

# Rückgabe:
Eine Liste von Zeichenketten

Hier kann String eine beliebige gültige Python-Zeichenkette sein.

Die beiden Parameter sep und maxsplit sind optional.

  • sep bezeichnet das Trennzeichen, an dem Sie die Zeichenkette aufteilen möchten. Es sollte als Zeichenkette angegeben werden.
  • maxsplit ist eine ganze Zahl, die angibt, wie oft Sie die Zeichenkette aufteilen möchten.

Die Standardwerte werden verwendet, wenn Sie keine optionalen Parameter angeben.

  • Wenn Sie den Wert sep nicht explizit angegeben, wird standardmäßig ein Leerzeichen als Trennzeichen verwendet.
  • Wenn Sie den Wert für maxsplit nicht angeben, wird er standardmäßig auf -1 gesetzt, was bedeutet, dass die Zeichenkette bei alle Vorkommen des Trennzeichens aufgeteilt wird.

Um die Syntax in einfacher Sprache zu formulieren:

Die Methode split() teilt eine Zeichenkette maxsplit so oft auf, wie der Parameter sep das Trennzeichen angibt.

Nachdem wir nun die Syntax der Python-Methode split() kennengelernt haben, wollen wir nun einige Beispiele programmieren.

Einen Python-String in eine Liste von Strings aufteilen

Wenn Sie Python 3 auf Ihrem Rechner installiert haben, können Sie mit diesem Tutorial programmieren, indem Sie die folgenden Codeschnipsel in einer Python REPL ausführen.

Um die REPL zu starten, führen Sie einen der folgenden Befehle über das Terminal aus:

$ python
$ python -i

▶️ Sie können diese Beispiele auch mit dem Python-Editor von Geekflare ausprobieren.

In diesem Beispiel ist py_str ein Python-String. Rufen wir die Methode .split() auf py_str ohne Parameter auf und beobachten wir die Ausgabe.

py_str = "Lernen Sie, wie man split() in Python benutzt"
py_str.split()

# Ausgabe
['Learn', 'how', 'to', 'use', 'split()', 'in', 'Python']

Wie oben zu sehen ist, wird die Zeichenkette an alle Stellen, an denen ein Leerzeichen vorkommt, aufgeteilt.

Einen Python-String beim Auftreten von Trennzeichen aufteilen

#1. Lassen Sie uns als erstes Beispiel den String py_str mit doppelten Unterstrichen (__) als Trennzeichen aufteilen.

py_str = "All__the__best"
py_str.split(sep='__')

# Ausgabe
['All', 'the', 'best']

#2. Lassen Sie uns ein anderes Beispiel nehmen. Hier besteht py_str aus drei Sätzen, die jeweils durch einen Punkt (.) abgeschlossen werden.

py_str = "Ich liebe Programmieren. Python ist cool. I'm learning Python in 2022"
py_str.split(sep='.')

# Ausgabe
['I love coding', ' Python is cool', " I'm learning Python in 2022"]

▶️ Wenn wir die Methode .split() für diese Zeichenkette mit '.' als Trennzeichen aufrufen, besteht die resultierende Liste aus drei Sätzen, wie in der obigen Codezelle zu sehen ist.

#3. Lassen Sie uns ein paar Fragen stellen:

  • Was passiert, wenn das Trennzeichen nie in der Zeichenkette vorkommt?
  • Wie wird die Aufteilung in diesem Fall vorgenommen?

Hier ist ein Beispiel:

Wir versuchen es, py_str beim Auftreten von Sternchen (*) aufzuteilen - was nicht geschieht.

py_str = "Diese Zeile enthält keinen Asterisk."
py_str.split(sep='*')

# Ausgabe
['Diese Zeile enthält keinen Asterisk.']

Da in diesem Fall kein Split durchgeführt werden kann, enthält die resultierende Liste die gesamte Zeichenkette.

Im nächsten Abschnitt werden wir sehen, wie wir die Methode split() auf den Inhalt einer Textdatei anwenden können.

Den Inhalt einer Python-Datei aufteilen

Wenn Sie arbeiten mit Textdateien in Pythonmüssen Sie den Inhalt der Datei möglicherweise anhand eines Trennzeichens aufteilen, um die Verarbeitung zu erleichtern.

Hier ist ein Beispiel für eine Textdatei:

Aufteilung des Inhalts einer Python-Datei

Der folgende Codeschnipsel zeigt, wie Sie split auf den Inhalt der Beispiel-Textdatei anwenden können.

with open('beispiel.txt') as f:
 content = f.read()
 str_list= content.split(sep='...')
 for string in str_list:
 print(string,end='')

Der obige Code macht Folgendes:

  • Er verwendet den with-Kontextmanager, um die Textdatei 'sample.txt' zu öffnen und mit ihr zu arbeiten.
  • Liest den Inhalt der Datei mit der Methode .read() des Dateiobjekts f.
  • Teilt den Inhalt beim Auftreten des Trennzeichens Ellipse (...) in eine Liste str_list auf.
  • Führt eine Schleife durch str_list, um auf jede Zeichenkette zuzugreifen und gibt sie aus.

Hier ist die Ausgabe.

# Ausgabe
Dies ist eine Beispiel-Textdatei
Sie enthält Informationen über
Einstieg in die <a href="https://geekflare.com/de/pcap-certification/">Programmierung mit Python</a>
Laut der StackOverflow Developer Survey 2022
ist Python eine der beliebtesten Programmiersprachen
Worauf warten Sie also noch? Fangen Sie an zu lernen!

Als Übung können Sie versuchen, den Inhalt einer Textdatei durch ein beliebiges Trennzeichen aufzuteilen.

Eine Python-Zeichenkette in Stücke zerlegen

Wenn Sie einen String einmal aufteilen, erhalten Sie zwei Chunks; wenn Sie ihn zweimal aufteilen, erhalten Sie drei Chunks.

wenn Sie eine Zeichenkette K-mal aufzuteilen, erhalten Sie im Allgemeinen K 1 Chunks.

Dies wird unten veranschaulicht.

#1. Wir setzen maxsplit zu 1. Wir haben kein Trennzeichen angegeben, so dass die Aufteilung standardmäßig an Leerzeichen erfolgt.

py_str = "Chunk#1 Ich bin ein größerer Brocken, Chunk#2"
py_str.split(maxsplit=1)

# Ausgabe
['Chunk#1', "Ich bin ein größerer Brocken, Chunk#2"]

Obwohl der zweite Chunk in der Liste Leerzeichen enthält, findet der Split nicht statt, weil der Split jetzt durch den maxsplit-Wert von einem gesteuert wird.

#2. Erhöhen wir den maxsplit-Wert auf 2 und beobachten wir, wie die Aufteilung im folgenden Beispiel erfolgt.

py_str = "Chunk#1 Chunk#2 I'm one large Chunk#3, even though I contain whitespaces"
py_str.split(maxsplit=2)

# Ausgabe
['Chunk#1',
 'Chunk#2',
 "I'm one large Chunk#3, even though I contain whitespaces"]

Wie im vorherigen Beispiel entscheidet der Wert maxsplit über die Anzahl der vorgenommenen Splits. Wir erhalten drei Chunks, die nach dem ersten und zweiten Vorkommen von Leerzeichen aufgeteilt werden.

#3. Was passiert, wenn Sie maxsplit auf einen Wert setzen, der größer ist als die Anzahl der Vorkommen des Trennzeichens?

In der folgenden Codezelle setzen wir maxsplit auf 8, wenn der String nur vier Kommas enthält.

py_str = "Es, sind, nur, 4, Kommas"
py_str.split(maxsplit=8)

# Ausgabe
['Es,', 'sind,', 'nur,', '4,', 'Kommas']

Hier teilt die Split-Methode py_str an allen vier Stellen, an denen ein Komma vorkommt. Selbst wenn Sie versuchen, maxsplit auf einen Wert kleiner als -1, z.B. -7, zu setzen, wird der Split an allen Vorkommen des Trennzeichens durchgeführt.

Als Nächstes wollen wir alles, was wir gelernt haben, zusammenfassen und beide Parameter sep maxsplit verwenden.

Eine Python-Zeichenkette anhand eines Trennzeichens in Abschnitte aufteilen

#1. Angenommen, wir müssen die Zeichenkette py_str beim Auftreten eines Kommas (,) in drei Teile aufteilen. Dazu können wir den Wert sep auf ',' und den Wert maxsplit auf 2 in dem Methodenaufruf setzen.

py_str = "Chunk#1, Chunk#2, I'm one large Chunk#3, even though I contain a ,"
py_str.split(sep = ',',maxsplit=2)

# Ausgabe
['Chunk#1', ' Chunk#2', " I'm one large Chunk#3, even though I contain a ,"]

Wie Sie in der Ausgabe sehen, erfolgt der Split zweimal bei den ersten beiden Vorkommen des Trennzeichens.

#2. Das Trennzeichen sep muss nicht immer ein Sonderzeichen sein. Es kann eine Folge von Sonderzeichen sein, wie die doppelten Unterstriche, die wir zuvor verwendet haben, oder es kann sogar eine Teilzeichenkette sein.

Lassen Sie uns die Zeichenkette 'learn' als sep-Argument festlegen und sehen, wie die Aufteilung bei unterschiedlichen Werten von maxsplit erfolgt. Hier setzen wir maxsplit auf 2.

py_str = "Sie müssen Datenstrukturen lernen, Algorithmen lernen und mehr lernen!"
py_str.split(sep = 'learn',maxsplit=2)

# Ausgabe
['Sie müssen ', ' Datenstrukturen, ', ' Algorithmen und mehr lernen!']

#3. Wenn Sie py_str auf alle Vorkommen der Zeichenkette 'learn' aufteilen möchten, können wir diese Methode .split() aufrufen, indem wir sep = 'learn'setzen - ohne den Parameter maxsplit. Dies ist gleichbedeutend mit dem expliziten Setzen des Wertes maxsplit auf -1, wie in der folgenden Codezelle gezeigt.

py_str = "Sie müssen Datenstrukturen lernen, Algorithmen lernen und mehr lernen!"
py_str.split(sep = 'learn',maxsplit=-1)

# Ausgabe
['Sie müssen ', ' Datenstrukturen, ', ' Algorithmen und ', ' mehr lernen!']

Wir sehen, dass der Split in allen Vorkommen von 'learn' vorkommt.

Zusammenfassung

Ich hoffe, Sie haben nun verstanden, wie Sie die Methode .split() mit Python-Strings verwenden können.

Hier ist eine Zusammenfassung dieses Tutorials:

  • Die in Python integrierte Methode .split() zerlegt eine Zeichenkette in eine Liste von Zeichenketten.
  • Verwenden Sie string.split(), um die Zeichenkette an allen Stellen aufzuteilen, an denen das Standardtrennzeichen, das Leerzeichen, vorkommt.
  • Verwenden Sie string.split(sep,maxsplit), um die Zeichenkette maximal so oft zu teilen, wie das Trennzeichen sep vorkommt. Die resultierende Liste hat maxsplit 1 Elemente.

In einem nächsten Schritt können Sie lernen, wie Sie prüfen können, ob Python-Strings Palindrome oder Anagramme sind.

  • Bala Priya C
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Entwicklung
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder