Ich versuche, diese Zeichenfolge unter einer Zeile zu formatieren, die fünf Wörter enthält. Allerdings bekomme ich das als Ausgabe:
Ich liebe Kekse, ja, ich tu einen Hund sehen
Erstens bekomme ich nicht 5 Wörter in einer Zeile, sondern alles in einer Zeile.
Zweitens, warum wird das "Lass uns" aufgeteilt? Ich dachte, wenn ich die Zeichenfolge mit "Wörtern" aufspalte, wird es nur geteilt, wenn dazwischen ein Leerzeichen ist?
Vorschläge?
%Vor%Als Erstes rufen Sie keine Variable "string" auf, da sie das Modul <überschattet / a> mit dem gleichen Namen
Zweitens verwenden Sie split()
, um Ihre Wortteilung zu übernehmen
Aus dem Re-Modul
\ W Entspricht einem beliebigen Zeichen, das kein Unicode-Wortzeichen ist. Dies ist das Gegenteil von \ w. Wenn das ASCII-Flag verwendet wird, wird dies das Äquivalent von [^ a-zA-Z0-9_] (aber das Flag betrifft den gesamten regulären Ausdruck, so dass in solchen Fällen ein explizites [^ a-zA-Z0-9_] verwendet werden kann eine bessere Wahl).
Da das '
im obigen nicht aufgeführt ist, teilt der regexp die Zeichenfolge "Let's" in zwei Teile:
Dies ist die Ausgabe, die ich mit dem strip () - Ansatz oben erhalten habe:
%Vor% Der Code könnte wahrscheinlich dazu vereinfacht werden, da counter==0
und die else-Klausel dasselbe tut. Ich führe auch in dort auf, um den Zähler loszuwerden:
Tags und Links python formatting newline