Einrückung einer mehrzeiligen Zeichenfolge in Python
In Python kann die Arbeit mit mehrzeiligen Zeichenfolgen manchmal zu unerwünschten globalen Einrückungen führen, was die Arbeit damit erschwert die Saite wie gewünscht. Wenn Sie eine Zeichenfolge mit globaler Einrückung haben und diese entfernen möchten, fällt Ihnen eine integrierte Funktion möglicherweise nicht ohne weiteres ein.
Lösung: Verwendung von textwrap.dedent()
Während Python keine dedizierte integrierte Funktion zum Aufheben der Einrückung von Zeichenfolgen hat, liegt die Lösung in der Standardbibliothek. Das Modul „textwrap“ stellt eine Funktion namens „dent()“ bereit, die speziell zum Entfernen gemeinsamer führender Leerzeichen aus einer mehrzeiligen Zeichenfolge entwickelt wurde.
Um „dent()“ zu verwenden, übergeben Sie einfach die eingerückte Zeichenfolge als Argument. und es entfernt automatisch alle führenden Leerzeichen, die in allen Zeilen der Zeichenfolge konsistent sind. Das Ergebnis ist eine nicht eingerückte Zeichenfolge, mit der Sie nach Bedarf arbeiten können.
Beispiel:
Betrachten Sie die folgende eingerückte Zeichenfolge:
s = """ Controller = require 'controller' class foo view: 'baz' class: 'bar' constructor: -> Controller.mix @ """
Mit 'textwrap.dedent()' können wir die Zeichenfolge einrücken:
>>> print(textwrap.dedent(s)) Controller = require 'controller' class foo view: 'baz' class: 'bar' constructor: -> Controller.mix @
Wie Sie sehen können, wurde die globale 4-Leerzeichen-Einrückung entfernt, was zu einer Zeichenfolge führt, die zur weiteren Verarbeitung oder Manipulation bereit ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3