Hoe deze string te splitsen waarbij __
het scheidingsteken is
MATCHES__STRING
Om een uitvoer van ['MATCHES', 'STRING']
te krijgen?
Antwoord 1, autoriteit 100%
Je kunt de str.split
gebruiken methode: string.split('__')
>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']
Antwoord 2
Misschien ben je geïnteresseerd in de csv
-module , die is ontworpen voor door komma’s gescheiden bestanden, maar kan eenvoudig worden gewijzigd om een aangepast scheidingsteken te gebruiken.
import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]
for row in csv.reader( lines ):
...
Antwoord 3
Als je twee of meer elementen in de string hebt (in het onderstaande voorbeeld zijn er drie), dan kun je een komma gebruiken om deze items te scheiden:
date, time, event_name = ev.get_text(separator='@').split("@")
Na deze regel code hebben de drie variabelen waarden uit drie delen van de variabele ev
.
Dus, als de variabele ev
deze tekenreeks bevat en we het scheidingsteken @
toepassen:
Sa., 23. März@19:00@Klavier + Orchester: SPEZIAL
Vervolgens, na de bewerking split
de variabele
date
heeft de waardeSa., 23. März
time
heeft de waarde19:00
event_name
heeft de waardeKlavier + Orchester: SPEZIAL
Antwoord 4
Voor Python 3.8 heb je de get_text
methode eigenlijk niet nodig, je kunt gewoon ev.split("@")
gebruiken, in feite de get_text
methode gooit een att. fout.
Dus als je een stringvariabele hebt, bijvoorbeeld:
filename = 'file/foo/bar/fox'
Je kunt dat gewoon opsplitsen in verschillende variabelen met coma’s zoals gesuggereerd in de bovenstaande opmerking, maar met een correctie:
W, X, Y, Z = filename.split('_')
W = 'file'
X = 'foo'
Y = 'bar'
Z = 'fox'