Как убрать пробелы рядом со знаком +

a = 'qwert y + qwerty'

Когда я делаю replace() то он мне выдает так:

>>> print(a.replace(' ','').split('+'))
['qwerty', 'qwerty']

А когда я делаю просто split(), он мне выдает:

['qwert y ', ' qwerty']

Но мне надо чтобы он выдавал так:

['qwert y', 'qwerty']

Чтобы пробелы он убирал только рядом с + а в остальных местах чтоб он не трогал.


Ответы (3 шт):

Автор решения: Павел

Замените

print(a.replace(' ','').split('+'))

На

print([x.strip() for x in a.split('+')])
→ Ссылка
Автор решения: Ret7020

Сплитьте по пробелам вокруг знака +.

a.split(" + ") 
→ Ссылка
Автор решения: CrazyElf

В этом случае надёжнее воспользоваться регулярными выражениями, указав, что вокруг знака + может быть произвольное количество пробелов. А может и не быть, это сработает одинаково хорошо в обоих случаях:

import re

a = 'qwert y + qwerty'
b = re.split(r'\s*\+\s*', a)
print(b)

Вывод:

['qwert y', 'qwerty']

Расшифровка регулярного выражения \s*\+\s*:

  • \s* - произвольное число пробелов количеством от нуля или больше
  • \+ - знак +, его нужно экранировать бэкслэшем
  • \s* - произвольное число пробелов количеством от нуля или больше
→ Ссылка