Wie man Saiten in Python spaltet

Wie man Saiten in Python spaltet
In diesem Artikel wird erläutert, wie Sie Strings in Python mit "split ()" und "partition ()" -Methoden teilen können. Diese Methoden sind besonders nützlich, wenn Sie einen Satz oder eine Gruppe von Wörtern in parserbare und iterbare Python -Typen umwandeln möchten. Alle Code -Beispiele in diesem Handbuch werden mit Python Version 3 getestet.8.6.

Split -Methode

Die Methode „Split ()“ kann verwendet werden, um Wörter mit einem von Benutzer angegebenen Trennzeichen zu teilen. Es gibt eine Liste geteilter Wörter zurück, ohne den Trennzeichen einzubeziehen. Wenn vom Benutzer kein Trennzeichen angegeben wird, wird Whitespace (ein oder mehrere) als einzelner Trennzeichen verwendet.

Zum Beispiel wird der folgende Code "[" Linux "," Hinweis "] als Ausgabe zurückgegeben:

text = "Linux Hint"
Text.Teilt()

Der folgende Code gibt "[" LinuxHint "," com "] als Ausgabe zurück, wenn".”Wird als Trennzeichen verwendet:

Text = "LinuxHint.com "
Text.Teilt(".”))

Der Trennzeichen muss kein einzelnes Zeichen sein. Die Split -Methode enthält zwei Argumente:

  • SEP: Separator, das zum Aufteilen verwendet werden soll
  • MaxSplit: Anzahl der Spaltungen, die zu tun sind

Beide Argumente sind optional. Wie oben erwähnt, wird die Whitespace als Trennzeichen zum Aufteilen verwendet, wenn das Argument „SEP“ nicht angegeben ist. Das Argument "maxSplit" hat einen Standardwert von "-1" und spaltet alle Vorkommen standardmäßig auf. Betrachten Sie den folgenden Code:

Text = "LinuxHint.CO.uns"
Text.Teilt(".”))

Es wird "[" LinuxHint "," Co "," US "] als Ausgabe zurückgeben. Wenn Sie beim ersten Auftreten des Separators aufhören möchten, "1" als "maxSplit" -Argument zu spalten.

Text = "LinuxHint.CO.uns"
Text.Teilt(".”, 1)

Der obige Code wird "[" LinuxHint "," Co "zurückgegeben.uns '] als Ausgabe. Geben Sie einfach die Anzahl der Ereignisse an, bei denen der Split -Prozess als zweites Argument gestoppt werden soll.

Beachten Sie, dass bei aufeinanderfolgenden Separatoren eine leere Zeichenfolge für die verbleibenden Separatoren nach dem ersten Split zurückgegeben wird (wenn nicht „maxSplit“ verwendet wird):

text = "LinuxHint ... com"
Text.Teilt("."))

Der obige Code wird "['LinuxHint',", 'com'] als Ausgabe zurückgegeben. Falls Sie leere Zeichenfolgen aus der resultierenden Liste entfernen möchten, können Sie die folgende Anweisung für das Verständnis für die Liste verwenden:

text = "LinuxHint ... com"
Ergebnis = Text.Teilt("."))
Ergebnis = [Element für Element im Ergebnis, wenn Artikel != ""]
Druck (Ergebnis)

Sie erhalten "[" LinuxHint "," com "] als Ausgabe, nachdem Sie das obige Code -Beispiel ausgeführt haben.

Beachte. Wenn Sie die Zeichenfolge von rechts nach links teilen möchten, verwenden Sie stattdessen "rsplit ()". Seine Syntax, Verwendung und Argumente entsprechen genau der Methode „Split ()“.

Wenn in der Zeichenfolge kein Trennzeichen gefunden wird, wenn "split ()" oder "rsplit ()" Methoden verwendet werden, wird die ursprüngliche Zeichenfolge als Einzellistenelement zurückgegeben.

Partitionsmethode

Die Methode "partition ()" kann verwendet werden, um Zeichenfolgen zu teilen, und es funktioniert identisch mit der Methode "Split ()" mit einigen Unterschieden. Der bemerkenswerteste Unterschied besteht darin, dass es das Trennzeichen behält und es als Element in das resultierende Tupel enthält, das geteilte Wörter enthält. Dies ist besonders nützlich, wenn Sie die Zeichenfolge in ein iterables Objekt (in diesem Fall) unterteilen möchten, ohne Originalzeichen zu entfernen. Betrachten Sie den folgenden Code:

Text = "LinuxHint.com "
Ergebnis = Text.Partition ("."))
Druck (Ergebnis)

Das obige Code -Beispiel gibt "(" LinuxHint "zurück", ".',' com ') ”als Ausgabe. Wenn Sie möchten, dass das Ergebnis vom Typ Listentyp ausreicht, verwenden Sie stattdessen das folgende Code -Beispiel:

Text = "LinuxHint.com "
Ergebnis = Liste (Text.Partition (".")))
Druck (Ergebnis)

Sie sollten "[" LinuxHint "bekommen,".',' com '] ”als Ausgabe nach dem Ausführen der obigen Codeprobe.

Die "partition ()" -Methode nimmt nur ein Argument namens "SEP" namens "SEP". Benutzer können einen Trennzeichen jeder Länge angeben. Im Gegensatz zur Methode „Split ()“ ist dieses Argument obligatorisch, sodass Sie den Trennzeichen nicht weglassen können. Sie können jedoch Whitespace als Trennzeichen angeben.

Beachten Sie, dass die Partitionsmethode beim ersten Auftreten des Separators stoppt. Wenn Ihre Zeichenfolge also mehrere Separatoren enthält, ignoriert die Methode „Partition ()“ alle anderen Vorkommen. Hier ist ein Beispiel, das dies veranschaulicht:

Text = "LinuxHint.CO.uns"
Ergebnis = Liste (Text.Partition (".")))
Druck (Ergebnis)

Das Code -Beispiel erzeugt "[" LinuxHint ",".',' co.uns '] als Ausgabe. Wenn Sie sich bei allen Vorkommen des Separators teilen und das Trennzeichen auch in die endgültige Liste einbeziehen möchten, müssen Sie möglicherweise ein „reguläres Ausdruck“ oder „Regex“ -Muster verwenden. Für das oben erwähnte Beispiel können Sie ein Regex -Muster folgendermaßen verwenden:

Import Re
Text = "LinuxHint.CO.uns"
Ergebnis = re.Teilt("(\.) ", Text)
Druck (Ergebnis)

Sie erhalten "[" LinuxHint ",".',' co ',' '.',' us '] "als Ausgabe nach der Ausführung des obigen Code -Beispiels. Der Punktcharakter wurde in der oben genannten Regex -Erklärung entkommen. Beachten Sie, dass das obige Beispiel zwar mit einem einzelnen Punktcharakter funktioniert, es jedoch möglicherweise nicht mit komplexen Separatoren und komplexen Zeichenfolgen funktioniert. Möglicherweise müssen Sie Ihr eigenes Regex -Muster je nach Anwendungsfall definieren. Das Beispiel wird hier gerade erwähnt, um Ihnen eine Vorstellung über den Prozess der Aufbewahrung des Separators in der endgültigen Liste mithilfe von Regex -Anweisungen zu geben.

Die „Partition ()“ -Methode kann manchmal leere Zeichenfolgen hinterlassen, insbesondere wenn der Trennzeichen nicht in der zu spaltenden Zeichenfolge gefunden wird. In solchen Fällen können Sie Listenverständnisanweisungen verwenden, um leere Zeichenfolgen zu entfernen, wie im Abschnitt „Split ()“ -Methode oben erläutert.

text = "LinuxHint"
Ergebnis = Liste (Text.Partition (".")))
Ergebnis = [Element für Element im Ergebnis, wenn Artikel != ""]
Druck (Ergebnis)

Nach dem Ausführen des obigen Code sollten Sie "['LinuxHint']" als Ausgabe erhalten.

Abschluss

Für einfache und unkomplizierte Spaltungen können Sie "split ()" und "partition ()" -Methoden verwenden, um iterable Typen zu erhalten. Für komplexe Saiten und Separatoren müssen Sie Regex -Anweisungen verwenden.