web-dev-qa-db-fra.com

Fractionner une chaîne par un délimiteur dans python

Comment diviser cette chaîne où __ est le délimiteur

MATCHES__STRING

Pour obtenir une sortie de ['MATCHES', 'STRING']?

167
Hulk

Vous pouvez utiliser la fonction str.split : string.split('__')

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

Vous pouvez être intéressé par le module csv , conçu pour les fichiers séparés par des virgules, mais pouvant être facilement modifié pour utiliser un délimiteur personnalisé.

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

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

Lorsque vous avez deux éléments ou plus (dans l'exemple ci-dessous, il y en a trois) dans la chaîne, vous pouvez utiliser une virgule pour séparer ces éléments:

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

Après cette ligne de code, les trois variables auront les valeurs de trois parties de la variable ev

Donc, si la variable ev contient cette chaîne et que nous appliquons le séparateur '@':

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

Ensuite, après l'opération de fractionnement, la variable

  • date aura la valeur "Sa., 23. Mars"
  • heure aura la valeur "19:00"
  • event_name aura la valeur "Klavier + Orchester: SPEZIAL"
1
Sergey Nasonov