Ich habe die Ausgabe eines Befehls in tabellarischer Form. Ich analysiere diese Ausgabe aus einer Ergebnisdatei und speichere sie in einer Zeichenfolge. Jedes Element in einer Zeile wird durch ein oder mehrere Leerzeichen getrennt. Daher verwende ich reguläre Ausdrücke, um ein oder mehrere Leerzeichen abzugleichen und zu teilen. Zwischen jedem Element wird jedoch ein Leerzeichen eingefügt:
>>> str1="a b c d" # spaces are irregular
>>> str1
'a b c d'
>>> str2=re.split("( )+", str1)
>>> str2
['a', ' ', 'b', ' ', 'c', ' ', 'd'] # 1 space element between!!!
Gibt es einen besseren Weg, dies zu tun?
Nach jedem Split str2
wird an eine Liste angehängt.
'str2'
str1.split()
. Keine Regex erforderlich.