Teilen Sie eine Zeichenfolge durch ein Trennzeichen in Python


195

So teilen Sie diese Zeichenfolge auf __das Trennzeichen

MATCHES__STRING

Um eine Ausgabe von zu erhalten ['MATCHES', 'STRING']?



8
Es lohnt sich, die Python-Standarddokumente zu lesen und zu versuchen, einige Programme zu verstehen, die andere erstellt haben, um die Grundlagen von Python zu verstehen. Üben und Kopieren / Ändern sind großartige Werkzeuge, um Sprache zu lernen.
Tony Veijalainen

Antworten:


326

Sie können die str.splitFunktion verwenden:string.split('__')

>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']

1
Ich habe mich gefragt, was ist der Unterschied zwischen dem ersten Beispiel (einfach mit split ()) und dem zweiten Beispiel (mit einer for-Schleife)?
EndenDragon

4
@EndenDragon Die for-Schleife wird automatisch angewendet x.strip()und gibt eine Liste von Übereinstimmungen ohne Leerzeichen auf beiden Seiten zurück. Der Teufel steckt im Detail.
Sébastien Vercammen

Hey, da dies eine sehr beliebte Frage ist, habe ich sie bearbeitet, um nur eine bestimmte Frage zu stellen, und den Teil mit den Leerzeichen um das Trennzeichen entfernt, da nicht klar war, was das OP überhaupt erwartet hatte (da es nie eine Frage gab die Frage). Ich denke, die Frage (und die Antworten) sind auf diese Weise nützlicher, aber Sie können alle Änderungen rückgängig machen, wenn Sie nicht einverstanden sind.
Aran-Fey

4

Möglicherweise interessiert Sie das csvModul, das für durch Kommas getrennte Dateien konzipiert ist, aber leicht geändert werden kann, um ein benutzerdefiniertes Trennzeichen zu verwenden.

import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]

for row in csv.reader( lines ):
    ...

1

Wenn die Zeichenfolge zwei oder mehr Elemente enthält (im folgenden Beispiel drei), können Sie diese Elemente durch Komma trennen:

date, time, event_name = ev.get_text(separator='@').split("@")

Nach dieser Codezeile haben die drei Variablen Werte aus drei Teilen der Variablen ev

Wenn also die Variable ev diese Zeichenfolge enthält und wir das Trennzeichen '@' anwenden:

Sa., 23. März @ 19: 00 @ Klavier + Orchester: SPEZIAL

Dann nach der Split-Operation die Variable

  • Datum hat den Wert "Sa., 23. März"
  • Die Zeit hat den Wert "19:00".
  • event_name hat den Wert "Klavier + Orchester: SPEZIAL"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.