Ich versuche, eine Zeichenfolge mit mehreren Trennzeichen zu teilen. Ich muss die Trennzeichen als Worte behalten. Die Trennzeichen, die ich verwende, sind: alle Interpunktionszeichen und das Leerzeichen.Python Split-String und behalten Trennzeichen als ein Wort
Zum Beispiel die Zeichenfolge:
Je suis, FOU et toi ?!
Sollte produzieren:
'Je'
'suis'
','
'FOU'
'et'
'toi'
'?'
'!'
schrieb ich:
class Parser :
def __init__(self) :
"""Empty constructor"""
def read(self, file_name) :
from string import punctuation
with open(file_name, 'r') as file :
for line in file :
for word in line.split() :
r = re.compile(r'[\s{}]+'.format(re.escape(punctuation)))
print(r.split(word))
Aber das Ergebnis, das ich habe ist:
['Je']
['suis', '']
['FOU']
['et']
['toi']
['', '']
Die Aufteilung scheint korrekt zu sein, aber die Ergebnisliste enthält die Begrenzer nicht :(