Comment faire pour supprimer les lignes vides avec ou sans les espaces dans Python
J'ai une chaîne que j'ai divisé par des sauts de ligne.
Comment puis-je supprimer toutes les lignes qui sont vides, (espaces uniquement)?
pseudo-code:
for stuff in largestring:
remove stuff that is blank
- Pour moi, j'ai trouvé la réponse ici est la meilleure solution
- Un liner pour supprimer les lignes vides (sans espace). ceci . Question titre pourrait être changé pour "Supprimer les lignes vides avec un espace de seulement en python'.
Vous devez vous connecter pour publier un commentaire.
En utilisant les regex:
En utilisant les regex +
filter()
:Comme on le voit sur codepad.
1000 loops, best of 3: 452 us per loop
; rejoindre, split & bande:100000 loops, best of 3: 5.41 us per loop
Essayer compréhension de liste et
string.strip()
:J'ai aussi essayé regexp et de la liste des solutions, et liste un est plus rapide.
Voici ma solution (en réponse à la question précédente):
Edit: Wow, je pense en omettant l'évidence n'est pas d'accord.
bigstring.split('\n')
Si vous n'êtes pas prêts à essayer de regex (qui doit), vous pouvez utiliser ceci:
Répétez cette opération plusieurs fois afin de vérifier si il n'y a pas de ligne vide à gauche. Ou enchaîner les commandes:
s.replace('\n\n','\n').replace('\n\n','\n')
Testé sur la 3.6.Ma version:
Surpris d'une multiligne re.sous n'a pas été suggéré (Oh, parce que vous avez déjà diviser votre chaîne... Mais pourquoi?):
mon texte original est:
Amy Pond a été enlevé et le Médecin est d'élever une armée à son secours, comme le drame continue. Mais comme il et Rory course à travers les galaxies, les appelant à long-tenu des dettes et solennellement promesses, ses ennemis sont la pose d'un soigneusement dissimulé piège.
Dans sa cellule dans la Tempête de la cage, River Song malheureusement reconnaît que le temps est enfin venu – aujourd'hui marque la Bataille de Démons Exécuter et le Médecin de l'heure la plus sombre. Les deux parties doivent faire leurs sacrifices et River Song doit révéler son plus secret bien gardé.
j'ai supprimer la ligne vide et joint tous ensemble comme une seule ligne AVEC CETTE SOLUTION:
komodo edit de supprimer les lignes vides
À komodo edit appuyez sur Ctrl+H Étoiles de la Marque (à Traiter comme des regex), Cliquez sur le lien ci-dessus pour afficher un aperçu.
Même chose que @NullUserException dit, c'est la façon dont je l'écris:
vous pouvez simplement utiliser rstrip: