Ich versuche, eine Zeichenfolge in Newline-Zeichen aufzuteilen (Berücksichtigung von Windows-, OS X- und Unix-Textdatei-Zeilenumbruchzeichen). Wenn es eine Aufeinanderfolge von diesen gibt, möchte ich auch darauf aufteilen und keine in das Ergebnis einbeziehen.
Also, wenn Sie Folgendes aufteilen:
%Vor%Das Ergebnis wäre:
%Vor%Welche Regex sollte ich verwenden?
Wenn am Anfang oder Ende der Zeilen keine Leerzeichen stehen, können Sie line.split()
ohne Argumente verwenden. Es wird Doppel entfernen.
.
Wenn nicht, können Sie [a for a a.split("\r\n") if a]
verwenden.
EDIT: Der str
-Typ hat auch eine Methode namens "Splitlines".
"Foo\r\n\r\nDouble Windows\r\rDouble OS X\n\nDouble Unix\r\nWindows\rOS X\nUnix".splitlines()
Das einfachste Muster für diesen Zweck ist r'[\r\n]+'
, das Sie als "ein oder mehrere Wagenrücklauf- oder Zeilenvorschubzeichen" aussprechen können.
Tags und Links python regex python-3.x