Dadurch wird die Zeichenfolge bei jedem Unterstrich aufgeteilt. Wenn Sie möchten, dass es nach dem ersten Split stoppt, verwenden Sie"2.7.0_bf4fda703454".split("_", 1) .
Wenn Sie sicher sind, dass die Zeichenfolge einen Unterstrich enthält, können Sie LHS und RHS sogar in separate Variablen entpacken:
Eine Alternative ist zu verwenden partition(). Die Verwendung ähnelt dem letzten Beispiel, außer dass drei statt zwei Komponenten zurückgegeben werden. Der Hauptvorteil besteht darin, dass diese Methode nicht fehlschlägt, wenn die Zeichenfolge kein Trennzeichen enthält.
Wenn Sie keinen Parameter an die Split-Methode von Python übergeben, heißt es in der Dokumentation : "Läufe aufeinanderfolgender Leerzeichen werden als einzelnes Trennzeichen betrachtet, und das Ergebnis enthält am Anfang oder Ende keine leeren Zeichenfolgen, wenn die Zeichenfolge führende oder nachfolgende Leerzeichen enthält."
Halten Sie Ihre Hüte fest, Jungs, analysieren Sie einen regulären Ausdruck:
Der reguläre Ausdruck „[AM] +“ bedeutet die Kleinbuchstaben adurch mdie auftreten , ein oder mehrere Male als ein Trennzeichen abgestimmt sind. reist eine zu importierende Bibliothek.
Oder wenn Sie die Gegenstände einzeln zerlegen möchten:
el@apollo:~/foo$ python
>>> mystring ="theres coffee in that nebula">>> mytuple = mystring.partition(" ")>>>print type(mytuple)<type 'tuple'>>>>print mytuple
('theres',' ','coffee in that nebula')>>>print mytuple[0]
theres
>>>print mytuple[2]
coffee in that nebula
Wenn es sich immer um eine gleichmäßige LHS / RHS-Aufteilung handelt, können Sie auch partitiondie in Zeichenfolgen integrierte Methode verwenden. Es wird ein 3-Tupel zurückgegeben, als (LHS, separator, RHS)ob das Trennzeichen gefunden würde und (original_string, '', '')wenn das Trennzeichen nicht vorhanden wäre:
partition
Methode der Zeichenfolgen und aktualisieren Sie dann Ihre Frage.Antworten:
"2.7.0_bf4fda703454".split("_")
gibt eine Liste von Zeichenfolgen:Dadurch wird die Zeichenfolge bei jedem Unterstrich aufgeteilt. Wenn Sie möchten, dass es nach dem ersten Split stoppt, verwenden Sie
"2.7.0_bf4fda703454".split("_", 1)
.Wenn Sie sicher sind, dass die Zeichenfolge einen Unterstrich enthält, können Sie LHS und RHS sogar in separate Variablen entpacken:
Eine Alternative ist zu verwenden
partition()
. Die Verwendung ähnelt dem letzten Beispiel, außer dass drei statt zwei Komponenten zurückgegeben werden. Der Hauptvorteil besteht darin, dass diese Methode nicht fehlschlägt, wenn die Zeichenfolge kein Trennzeichen enthält.quelle
Exemplarische Vorgehensweise zum Parsen von Python-Zeichenfolgen
Teilen Sie eine Zeichenfolge auf Leerzeichen, rufen Sie eine Liste ab, zeigen Sie ihren Typ an und drucken Sie sie aus:
Wenn Sie zwei Trennzeichen nebeneinander haben, wird eine leere Zeichenfolge angenommen:
Teilen Sie eine Zeichenfolge auf Unterstrich und greifen Sie zum fünften Element in der Liste:
Reduzieren Sie mehrere Felder zu einem
Wenn Sie keinen Parameter an die Split-Methode von Python übergeben, heißt es in der Dokumentation : "Läufe aufeinanderfolgender Leerzeichen werden als einzelnes Trennzeichen betrachtet, und das Ergebnis enthält am Anfang oder Ende keine leeren Zeichenfolgen, wenn die Zeichenfolge führende oder nachfolgende Leerzeichen enthält."
Halten Sie Ihre Hüte fest, Jungs, analysieren Sie einen regulären Ausdruck:
Der reguläre Ausdruck „[AM] +“ bedeutet die Kleinbuchstaben
a
durchm
die auftreten , ein oder mehrere Male als ein Trennzeichen abgestimmt sind.re
ist eine zu importierende Bibliothek.Oder wenn Sie die Gegenstände einzeln zerlegen möchten:
quelle
Wenn es sich immer um eine gleichmäßige LHS / RHS-Aufteilung handelt, können Sie auch
partition
die in Zeichenfolgen integrierte Methode verwenden. Es wird ein 3-Tupel zurückgegeben, als(LHS, separator, RHS)
ob das Trennzeichen gefunden würde und(original_string, '', '')
wenn das Trennzeichen nicht vorhanden wäre:quelle