Was wäre der beste Weg, um eine Zeichenfolge beim ersten Auftreten eines Trennzeichens zu teilen?
Zum Beispiel:
"123mango abcd mango kiwi peach"
Aufteilen auf den ersten mango
, um zu erhalten:
"abcd mango kiwi peach"
Aus den Dokumenten :
str.split([sep[, maxsplit]])
Gibt eine Liste der Wörter in der Zeichenfolge zurück, wobei sep als Trennzeichenfolge verwendet wird. Wenn maxsplit angegeben ist, werden höchstens maxsplit- Teilungen durchgeführt (daher enthält die Liste höchstens
maxsplit+1
Elemente).
s.split('mango', 1)[1]
maxsplit
Anzahl weitere Teilungen durchgeführt werden können , enthält das letzte Element in der Liste den Rest der Zeichenfolge (einschließlich allersep
Zeichen / Zeichenfolgen).quelle
Für mich ist der bessere Ansatz:
... denn wenn das Auftreten geschieht nicht in der Zeichenfolge werden Sie bekommen "
IndexError: list index out of range"
.Daher
-1
wird kein Schaden verursacht, da die Anzahl der Vorkommen bereits auf eins gesetzt ist.quelle
Sie können auch verwenden
str.partition
:Der Vorteil der Verwendung
str.partition
ist, dass immer ein Tupel in der folgenden Form zurückgegeben wird:Dies macht das Auspacken der Ausgabe sehr flexibel, da das resultierende Tupel immer 3 Elemente enthält.
quelle
Dadurch werden Daten beim ersten Auftreten von '.' Geteilt. im Zeichenfolgen- oder Datenrahmenspaltenwert.
quelle