Как удалить пробел из списка строк - PullRequest
1 голос
/ 22 октября 2019

У меня есть список строк, в которых мне нужно все пустое пространство для каждого элемента, обрезанного, если оно больше одного пробела.

original = ['1   0    1', 'how is it \n going?', 'hey how are you      today?', '0']
without_spaces = [item.replace('\s+', ' ', regex=True) for item in original]

Мой ожидаемый результат:

print(original)
['1 0 1', 'how is it going?', 'hey how are you today?', '0']

Есть идеи по этому поводу?

Ответы [ 3 ]

2 голосов
/ 23 октября 2019

Вы можете использовать re.sub() для этой цели:

import re
original = ['1   0    1', 'how is it \n going?', 'hey how are you      today?', '0']
without_spaces = [re.sub('\s+', ' ', item) for item in original]
print(without_spaces)

, вывод будет:

['1 0 1', 'how is it going?', 'hey how are you today?', '0']
1 голос
/ 23 октября 2019

Примерно так должно работать

import re
original = ['1   0    1', 'how is it \n going?', 'hey how are you      today?', '0']
without_spaces = [re.sub("\s+", " ", item) for item in original]

print(without_spaces)
1 голос
/ 23 октября 2019
' '.join(mystring.split())

Это разделится на слова и объединит их обратно в одну строку, используя " ".

Другой подход будет выглядеть так:

import re

re.sub('\s+', ' ', mystring).strip()

Надеюсь, это поможет. Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...