Website-Suche

Python String Split() Methode


Die Python-String-split()-Funktion wird verwendet, um einen String basierend auf einem Trennzeichen in eine Liste von Strings zu splitten.

Syntax der Python-String split()-Funktion

str.split(sep=None, maxsplit=-1)

sep Argument wird als Trennzeichen verwendet. Wenn der String aufeinanderfolgende Trennzeichen enthält, wird eine leere Zeichenfolge zurückgegeben. Das Trennzeichen-Argument kann auch aus mehreren Zeichen bestehen.

Wenn das Trennzeichen nicht angegeben wird oder None ist, werden Leerzeichen als Trennzeichen betrachtet. In diesem Fall wird kein leerer String zurückgegeben, wenn führende oder nachfolgende Leerzeichen vorhanden sind. Außerdem werden mehrere Leerzeichen als ein einziges Trennzeichen betrachtet.

Wenn maxsplit angegeben ist, werden höchstens maxsplit Aufteilungen vorgenommen (daher hat die Liste höchstens maxsplit+1 Elemente). Wenn maxsplit nicht angegeben ist oder -1, gibt es keine Begrenzung für die Anzahl der Aufteilungen und alle möglichen Aufteilungen werden in der Liste zurückgegeben.

Beispiel für die Python-Zeichenfolgenmethode split()

Lassen Sie uns ein einfaches Beispiel ansehen, bei dem eine Zeichenkette basierend auf dem angegebenen Trennzeichen in eine Liste aufgeteilt wird.

s = 'Python is Nice'

simple string split example
str_list = s.split(sep=' ')
print(str_list)

Ausgabe :

['Python', 'is', 'Nice']

String split() mit maxsplit Beispiel

s = 'Python is Nice'

str_list = s.split(sep=' ', maxsplit=1)
print(str_list)

['Python', 'ist nett']

Beachten Sie, dass die zurückgegebene Liste nur 2 Elemente enthält, der String wurde nur einmal aufgeteilt.

sep ist nicht angegeben oder None

s = '  Java  Python iOS    Android  '
str_list = s.split()
print(str_list)

Ausgabe: ['Java', 'Python', 'iOS', 'Android']

Die führenden und nachfolgenden Leerzeichen werden in der zurückgegebenen Liste ignoriert. Auch aufeinanderfolgende Leerzeichen werden als ein einzelner Trenner betrachtet.

Beispiel zum Aufteilen mehrzeiliger Zeichenfolgen

multiline_str = 'Hi There\nHow are you?\nI am fine'
multiline_str_split_list = multiline_str.split(sep='\n')
for s in multiline_str_split_list:
    print(s)

Ausgabe :

Hi There
How are you?
I am fine

Beispiel für einen Multi-Zeichen-Trenner

s = 'Hi||Hello||Adios'
str_list = s.split('||')
print(str_list)

['Hallo', 'Hi', 'Adios']

Beispiel der str.split() Funktion

Wir können die split()-Funktion auch direkt aus der str-Klasse verwenden.

print(str.split('ABACAD', sep='A'))
print(str.split('ABACAD', sep='A', maxsplit=2))

Ausgabe :

['', 'B', 'C', 'D']
['', 'B', 'CAD']

Beachten Sie, dass ein leerer String zurückgegeben wird, wenn das erste Zeichen dem Trenner entspricht.

CSV-String-Teilungsbeispiel mit Benutzereingabe

Schließlich schauen wir uns ein Beispiel aus der Praxis an, in dem der Benutzer die CSV-Daten eingibt und wir diese in eine Liste von Strings aufteilen.

input_csv = input('Please enter CSV Data\n')
input_csv_split_list = input_csv.split(sep=',')
print('Input Data Length =', len(input_csv_split_list))
print('List of inputs =', input_csv_split_list)

Ausgabe :

Please enter CSV Data
Java,Android,Python,iOS,jQuery
Input Data Length = 5
List of inputs = ['Java', 'Android', 'Python', 'iOS', 'jQuery']

Das ist alles zu den Beispielen der Python-String-Split()-Funktion. Es ist eine sehr nützliche Funktion, um einen String anhand eines bestimmten Trennzeichens in eine Liste zu splitten.

Python-String rsplit()

Die Python-String-Funktion rsplit() ist der Funktion split() sehr ähnlich. Der einzige Unterschied besteht darin, dass die Teilungen am Ende des Strings beginnen und nach vorne gearbeitet wird.

Lass uns einige Beispiele für die rsplit() Funktion ansehen.

rsplit() example
s = 'Python is Awesome'
str_list = s.rsplit(sep=' ')
print(str_list)

str_list = s.rsplit(sep=' ', maxsplit=1)
print(str_list)

s = '  Java  Python iOS    Android  '
str_list = s.rsplit()
print(str_list)

multiline_str = 'Hi There\nHow are you?\nI am fine'
multiline_str_split_list = multiline_str.rsplit(sep='\n')
for s in multiline_str_split_list:
    print(s)

s = 'Hi||Hello||Adios'
str_list = s.rsplit('||')
print(str_list)

using split() with str class
print(str.rsplit('ABACAD', sep='A'))
print(str.rsplit('ABACAD', sep='A', maxsplit=2))

csv and user input example
input_csv = input('Please enter CSV Data\n')
input_csv_split_list = input_csv.rsplit(sep=',')
print('Input Data Length =', len(input_csv_split_list))
print('List of inputs =', input_csv_split_list)

Ausgabe :

['Python', 'is', 'Awesome']
['Python is', 'Awesome']
['Java', 'Python', 'iOS', 'Android']
Hi There
How are you?
I am fine
['Hi', 'Hello', 'Adios']
['', 'B', 'C', 'D']
['AB', 'C', 'D']
Please enter CSV Data
x,y,z
Input Data Length = 3
List of inputs = ['x', 'y', 'z']

Beachten Sie, dass der Unterschied sichtbar ist, wenn das maxsplit-Argument bereitgestellt wird. Andernfalls ist die Ausgabe der Funktionen split() und rsplit() gleich.