0

when I run the script:

import re

s = '\n Surface de la terrasse\n \n 32\n\n \n \n m²\n \n \n mètres carrés\n \n \n \n'

print(s.split())

['Surface', 'de', 'la', 'terrasse', '32', 'm²', 'mètres', 'carrés']

How do I get a list in the following format instead?

['Surface de la terrasse','32','m²','mètres carrés']
underscore
  • 6,495
  • 6
  • 39
  • 78
Adamtky
  • 33
  • 4

2 Answers2

2

First split on newlines, then strip all whitespace from beginning and end, then remove empty strings:

>>> print([line.strip() for line in s.split('\n') if line.strip()])
['Surface de la terrasse', '32', 'm²', 'mètres carrés']
Thomas
  • 174,939
  • 50
  • 355
  • 478
2
print(list(filter(None, map(str.strip, s.split("\n")))))

Output:

['Surface de la terrasse', '32', 'm²', 'mètres carrés']
>>> 
Paul M.
  • 10,481
  • 2
  • 9
  • 15