Python

So teilen Sie Strings in Python

So teilen Sie Strings in Python
Dieser Artikel erklärt, wie man Strings in Python mit den Methoden „split()“ und „partition()“ aufteilt. Diese Methoden sind besonders nützlich, wenn Sie einen Satz oder eine Wortgruppe in parsierbare und iterierbare Python-Typen konvertieren möchten convert. Alle Codebeispiele in diesem Handbuch wurden mit Python Version 3 getestet.8.6.

Split-Methode

Die Methode „split()“ kann verwendet werden, um Wörter mit einem benutzerdefinierten Trennzeichen zu trennen. Es gibt eine Liste von geteilten Wörtern zurück, ohne das Trennzeichen einzuschließen. Wenn vom Benutzer kein Trennzeichen angegeben wird, wird Whitespace (ein oder mehrere) als einzelnes Trennzeichen verwendet.

Der folgende Code gibt beispielsweise "['Linux', 'Hint']" als Ausgabe zurück:

text = "Linux-Hinweis"
Text.Teilt()

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

text = "LinuxHinweis.com"
Text.Teilt(".“)

Das Trennzeichen muss kein einzelnes Zeichen sein. Die split-Methode benötigt zwei Argumente:

Beide Argumente sind optional. Wie oben erwähnt, wird Leerzeichen als Trennzeichen für die Aufteilung verwendet, wenn das Argument „sep“ nicht angegeben wird. Das Argument „maxsplit“ hat den Standardwert „-1“ und teilt standardmäßig alle Vorkommen auf. Betrachten Sie den folgenden Code:

text = "LinuxHinweis.co.uns"
Text.Teilt(".“)

Es wird "['LinuxHint', 'co', 'us']" als Ausgabe zurückgeben. Wenn Sie die Aufteilung beim ersten Auftreten des Trennzeichens beenden möchten, geben Sie „1“ als „maxsplit“-Argument an.

text = "LinuxHinweis.co.uns"
Text.Teilt(".”, 1)

Der obige Code gibt "['LinuxHint', 'co.us']” als Ausgabe. Geben Sie einfach als zweites Argument die Anzahl der Vorkommen an, bei denen der Aufteilungsprozess beendet werden soll.

Beachten Sie, dass bei aufeinanderfolgenden Trennzeichen für die verbleibenden Trennzeichen nach der ersten Teilung eine leere Zeichenfolge zurückgegeben wird (wenn das Argument „maxsplit“ nicht verwendet wird):

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

Der obige Code gibt "['LinuxHint', , 'com']" als Ausgabe zurück. Falls Sie leere Strings aus der resultierenden Liste entfernen möchten, können Sie die folgende Listenverständnisanweisung verwenden:

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

Sie erhalten "['LinuxHint', 'com']" als Ausgabe, nachdem Sie das obige Codebeispiel ausgeführt haben.

Beachten Sie, dass sich die Methode „split()“ von links nach rechts bewegt, um Strings in Wörter aufzuteilen. Wenn Sie die Zeichenfolge von rechts nach links aufteilen möchten, verwenden Sie stattdessen „rsplit()“. Seine Syntax, Verwendung und Argumente sind genau die gleichen wie bei der Methode „split()“.

Wenn bei der Verwendung der Methoden „split()“ oder „rsplit()“ kein Trennzeichen im String gefunden wird, wird der ursprüngliche String als einziges Listenelement zurückgegeben.

Partitionsmethode

Die Methode „partition()“ kann zum Aufteilen von Strings verwendet werden und funktioniert mit einigen Unterschieden genauso wie die Methode „split()“. Der bemerkenswerteste Unterschied besteht darin, dass es das Trennzeichen beibehält und es als Element in das resultierende Tupel einfügt, das geteilte Wörter enthält. Dies ist besonders nützlich, wenn Sie die Zeichenfolge in ein iterierbares Objekt (in diesem Fall ein Tupel) aufteilen möchten, ohne Originalzeichen zu entfernen. Betrachten Sie den folgenden Code:

text = "LinuxHinweis.com"
Ergebnis = Text.Partition(".")
drucken (Ergebnis)

Das obige Codebeispiel gibt "('LinuxHint', '.', 'com')“ als Ausgabe. Wenn das Ergebnis vom Listentyp sein soll, verwenden Sie stattdessen das folgende Codebeispiel:

text = "LinuxHinweis.com"
Ergebnis = Liste (Text.Partition("."))
drucken (Ergebnis)

Sie sollten "['LinuxHint', '.', 'com']” als Ausgabe nach dem Ausführen des obigen Codebeispiels.

Die Methode „partition()“ benötigt nur ein Argument namens „sep“. Benutzer können ein beliebig langes Trennzeichen angeben. Im Gegensatz zur Methode „split()“ ist dieses Argument obligatorisch, sodass Sie das Trennzeichen nicht weglassen können. Sie können jedoch Leerzeichen als Trennzeichen angeben.

Beachten Sie, dass die Partitionsmethode beim ersten Auftreten des Trennzeichens stoppt stops. Wenn Ihr String also mehrere Trennzeichen enthält, ignoriert die Methode „partition()“ alle anderen Vorkommen. Hier ist ein Beispiel, das dies veranschaulicht:

text = "LinuxHinweis.co.uns"
Ergebnis = Liste (Text.Partition("."))
drucken (Ergebnis)

Das Codebeispiel erzeugt „['LinuxHint', '.', 'co.us']” als Ausgabe. Wenn Sie bei allen Vorkommen des Trennzeichens teilen und das Trennzeichen auch in die endgültige Liste aufnehmen möchten, müssen Sie möglicherweise ein „Regular Expression“- oder „RegEx“-Muster verwenden. Für das oben genannte Beispiel können Sie ein RegEx-Muster wie folgt verwenden:

Importieren
text = "LinuxHinweis.co.uns"
Ergebnis = re.Teilt("(\.)", Text)
drucken (Ergebnis)

Sie erhalten "['LinuxHint', '.', 'co', '.', 'us']” als Ausgabe nach Ausführung des obigen Codebeispiels. Das Punktzeichen wurde in der oben erwähnten RegEx-Anweisung mit Escapezeichen versehen. Beachten Sie, dass das obige Beispiel zwar mit einem einzelnen Punkt funktioniert, jedoch möglicherweise nicht mit komplexen Trennzeichen und komplexen Zeichenfolgen funktioniert. Je nach Anwendungsfall müssen Sie möglicherweise Ihr eigenes RegEx-Muster definieren define. Das Beispiel wird hier nur erwähnt, um Ihnen eine Vorstellung davon zu geben, wie das Trennzeichen in der endgültigen Liste mithilfe von RegEx-Anweisungen beibehalten wird.

Die Methode „partition()“ kann manchmal leere Zeichenfolgen hinterlassen, insbesondere wenn das Trennzeichen nicht in der zu teilenden Zeichenfolge gefunden wird. In solchen Fällen können Sie Listenverständnisanweisungen verwenden, um leere Zeichenfolgen zu entfernen, wie oben im Abschnitt zur Methode „split()“ beschrieben.

text = "LinuxHinweis"
Ergebnis = Liste (Text.Partition("."))
result = [Artikel für Artikel in Ergebnis, wenn Artikel != ""]
drucken (Ergebnis)

Nachdem Sie den obigen Code ausgeführt haben, sollten Sie „['LinuxHint']“ als Ausgabe erhalten.

Fazit

Für einfache und unkomplizierte Aufteilungen können Sie die Methoden „split()“ und „partition()“ verwenden, um iterierbare Typen zu erhalten. Für komplexe Zeichenfolgen und Trennzeichen müssen Sie RegEx-Anweisungen verwenden.

So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...