Eine Zeichenkette nach Leerzeichen aufteilen in Python

Rayven Esplanada 10 Oktober 2023
  1. Verwendung von die String-Methode split() zum einen String in Python zu teilen
  2. Verwendung von re.split() zum einen String in Python zu teilen
Eine Zeichenkette nach Leerzeichen aufteilen in Python

In diesem Tutorial wird gezeigt, wie Sie eine Zeichenkette nach Leerzeichen als Trennzeichen in Python aufteilen.

Das Aufteilen von Zeichenketten in Python bedeutet, dass eine einzelne Zeichenkette je nach verwendetem Trennzeichen oder Trennzeichen in ein Array von Zeichenketten geschnitten wird.

Zum Beispiel, wenn eine Zeichenkette als Hello, World! I am here. Wenn Sie es mit einem Leerzeichen als Trennzeichen teilen, wird die folgende Ausgabe angezeigt.

["Hello,", "World!", "I", "am", "here."]

Verwendung von die String-Methode split() zum einen String in Python zu teilen

Die integrierte Python-String-Methode split() ist eine perfekte Lösung, um Strings mithilfe von Leerzeichen zu teilen. Standardmäßig gibt die Methode split() ein Array von TeilZeichenketten zurück, die sich aus der Aufteilung der ursprünglichen Zeichenkette unter Verwendung von Leerzeichen als Trennzeichen ergeben.

Verwenden wir zum Beispiel dasselbe Zeichenkettenbeispiel Hello, World! I am here.. Wir werden die Methode split() verwenden, um den String in ein Array von TeilZeichenketten zu trennen.

string_list = "Hello, World! I am here.".split()

print(string_list)

Die Ausgabe ist wie erwartet:

["Hello,", "World!", "I", "am", "here."]

Außerdem entfernt die Methode split() automatisch führende und nachfolgende Leerzeichen und behandelt sie als ein einzelnes Leerzeichen-Trennzeichen.

Lassen Sie uns das vorherige Beispiel so ändern, dass es zufällige führende, nachfolgende und aufeinanderfolgende Leerzeichen enthält.

string_list = "      Hello,   World! I am     here.   ".split()

print(string_list)

Ein weiteres Szenario, das von der Methode split() automatisch behandelt wird, sind Tabulatoren, Zeilenumbrüche und Zeilenumbrüche, die neben dem Leerzeichen-Literal mit \t, \n und \r gekennzeichnet sind. Die genannten Leerzeichenformate gelten auch als Trennzeichen und Trimmobjekte.

Ausgabe:

['Hello,', 'World!', 'I', 'am', 'here.']

Zum Beispiel:

string_list = " Hello,   World! I am here.\nI am also\there too,\rand here.".split()

print(string_list)

Ausgabe:

['Hello,', 'World!', 'I', 'am', 'here.', 'I', 'am', 'also', 'here', 'too,', 'and', 'here.']

In Anbetracht dieser Faktoren müssen Sie sich nicht darum kümmern, jedes Leerzeichen explizit zu kürzen, bevor Sie die Funktion ausführen. Dies ist eine praktische Funktion.

Verwendung von re.split() zum einen String in Python zu teilen

Das Python RegEx-Modul (reguläre Ausdrücke) re verfügt außerdem über eine vordefinierte Funktion split(), die wir anstelle der integrierten Methode split() verwenden können. Beachten Sie jedoch, dass die re.split() in Bezug auf die Leistung langsamer ist als die integrierte Methode split().

Die Funktion re.split() akzeptiert zwei Hauptparameter, eine RegEx-Zeichenkette und die Zeichenkette, um die Teilungsfunktion auszuführen. Das RegEx-Schlüsselwort, das Leerzeichen darstellt, lautet \s. \s ist eine Zusammenstellung aller Arten von Leerzeichen, einschließlich der oben genannten (\n, \t, \r, \f).

Deklarieren Sie beispielsweise eine Zeichenkette und führen Sie re.split() aus, um sie in ein Array von TeilZeichenketten aufzuteilen. Fügen Sie der RegEx-Zeichenkette ein +-Zeichen hinzu, um nachfolgende und führende Leerzeichen zu berücksichtigen, damit ein oder mehrere aufeinanderfolgende Leerzeichen als einzelne Gruppe übereinstimmen.

Fügen Sie außerdem das Schlüsselwort r an die RegEx-Zeichenkette an, um sicherzustellen, dass Python die Escape-Sequenzen ordnungsgemäß verarbeitet.

import re

exStr = "Hello, World!\nWelcome\tto my   tutorial\rarticle."

print(re.split(r"\s+", exStr))

Verwenden Sie re.findall() anstelle von re.split(), um einen String in Python zu teilen

Alternativ kann auch re.findall() verwendet werden. Die Funktion findall() funktioniert genau umgekehrt zu split(). Diese Funktion findet alle TeilZeichenketten, die mit der angegebenen RegEx-Zeichenkette übereinstimmen, während die Methode split() die RegEx-Zeichenkette als Trennzeichen verwendet.

Um die Funktion findall() zum Teilen der Zeichenkette mithilfe von Leerzeichen zu verwenden, negieren Sie das Leerzeichen-Schlüsselwort \s, indem Sie den Buchstaben (\S) in Großbuchstaben schreiben. findall() akzeptiert die gleichen Parameter wie split().

import re

exStr = "Hello, World!\nWelcome\tto my   tutorial\rarticle."

print(re.findall(r"\S+", exStr))

Beide Funktionen erzeugen die gleiche Ausgabe:

['Hello,', 'World!', 'Welcome', 'to', 'my', 'tutorial', 'article.']

Zusammenfassend lässt sich sagen, dass die beste und optimalste Methode zum Aufteilen einer Zeichenkette mit Leerzeichen als Begrenzer die eingebaute Methode split() ist. Es ist an das Zeichenkettenobjekt angehängt und berücksichtigt standardmäßig führende und nachfolgende Leerzeichen. Um dies zu verwenden, sind auch keine Kenntnisse über reguläre Ausdrücke erforderlich.

Andernfalls können re.split() und re.findall() als Ersatz für die Methode split() verwendet werden, obwohl beide Funktionen langsamer als die integrierte Methode split() ausgeführt werden.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Verwandter Artikel - Python String