So entfernen Sie Leerzeichen in BeautifulSoup
Ich habe eine Reihe von HTML-ich bin parsing mit BeautifulSoup und es läuft ziemlich gut, außer für einen kleinen Haken. Ich möchte speichern Sie die Ausgabe in eine single-gefüttert-string, mit dem folgenden, da meine aktuelle Ausgabe:
<li><span class="plaincharacterwrap break">
Zazzafooky but one two three!
</span></li>
<li><span class="plaincharacterwrap break">
Zazzafooky2
</span></li>
<li><span class="plaincharacterwrap break">
Zazzafooky3
</span></li>
Idealerweise möchte ich
<li><span class="plaincharacterwrap break">Zazzafooky but one two three!</span></li><li><span class="plaincharacterwrap break">Zazzafooky2</span></li>
Es gibt eine Menge von überflüssigen Leerzeichen, die ich loswerden möchte, aber es ist nicht unbedingt abnehmbar mit strip()
, noch kann ich krass entfernen Sie alle Leerzeichen, da muss ich beibehalten, der text. Wie kann ich es tun? Wie es scheint, eine gemeinsame genug problem, regex wäre übertrieben, aber ist das die einzige Möglichkeit?
Habe ich keine <pre>
- tags, so kann ich ein wenig eindringlicher da.
Noch einmal vielen Dank!
Sie können tun, was Browser tun: den Zusammenbruch aller angrenzenden whitespaces (im text) in einzelne Räume.
InformationsquelleAutor Rio | 2010-11-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie Sie es tun können, ohne reguläre Ausdrücke:
InformationsquelleAutor Andrew Clark
Alte Frage, ich weiß, aber beautifulsoup4 hat diese Helfer aufgerufen stripped_strings.
Versuchen Sie dies:
InformationsquelleAutor twig
Regex
[\ \n]{2}
entspricht Zeilenumbrüche und Leerzeichen (muss escaped werden), wenn es mehr als zwei oder mehr von Ihnen. Die Gründliche Umsetzung ist diese:Ich würde denken, der erste würde nur ersetzen mehrere Zeilenumbrüche, aber es scheint (zumindest bei mir) funktioniert alles wunderbar.
InformationsquelleAutor Rafe Kettler