Как удалять пробелы в Python и форматировать их

В Python есть несколько методов удаления пробелов в строках. Методы могут быть использованы при удалении пробелов во всем тексте, начале или конце.
Из-за того что строки являются неизменяемыми объектам каждая операция удаления или замены символов создает новую строку. Что бы сохранить новую строку мы должны будем присвоить ее переменной.
Навигация по посту
- Удаление пробелов в начале и конце строки со strip()
- Замена всех пробелов с replace()
- Удаление с join и split
- Использование translate()
- Использование регулярных выражений
Удаление пробелов в начале и конце строки со strip()
Для удаления пробелов в начале и конце строки можно использовать функцию strip(), как на примере ниже:
string = " My name is \n Alex " string = string.strip()

Для удаления символов в начале текста есть lstrip():
word = " My name is \n Alex " word = word.lstrip()

Противоположная операция — rstrip(), удалит символы только справа:
i = " My name is \n Alex " i = i.rstrip()
Замена всех знаков с replace()
Когда нужно удалить все нужные символы используйте replace():
d = " My name is \n Alex " d = d.replace(' ', '')

В отличие от методов strip с replace можно заменить задвоенные символы:
v = " My name is \n Alex " v = v.replace(' ', '')
Удаление с join и split
Если нужно удалить все пробелы и символы новой строки ‘\n’ можно преобразовать строку в массив (используя пробелы как разделитель) и преобразовать массив обратно в строку уже добавив пробелы между значениями:
n = " My name is \n Alex " n = n.replace(' ', '')

Вам так же будет интересно:
Используем Python Pillow для вставки текста и изображения в картинку
Использование translate()
translate возвращает копию строки в которой все символы будут заменены в соответствии с таблицей. С помощью следующего способа эта операция пройдет с пробелами:
import string s = ' word1 word2 word3' s = s.translate()

Использование регулярных выражений
Используя регулярные выражения мы можем получить каждый из результатов полученных выше. Знак пробела, в регулярных выражениях, обозначается как ‘\s’. Знак ‘+’ говорит об одном или множестве повторений символа. В примере ниже будут заменены все символы пробела:
import re h = ' Hello world 1 2 3' h = re.sub(r'\s+', '', h)

Для замены указанных знаков в начале текста можно использовать знак ‘^’:
import re j = ' Hello world 1 2 3' j = re.sub(r'^\s+', '', j)

Конец текста обозначает знак ‘$’. С помощью его мы заменим нужные символы в конце строки в следующем примере:
import re string = ' Hello world 1 2 3 ' string = re.sub(r'\s+$', '', string)

Используя знак ‘|’, который в регулярных выражения работает как ‘or’, мы сможем заменить символы в начале и конце:
import re string = ' Hello world 1 2 3 ' string = re.sub(r'^\s+|\s+$', '', string)
Как убрать пробел в строке print в Питон?
Как убрать пробел между словом и восклицательным знаком? В коде пробела нет.
Заранее спасибо, всегда выбираю Ответ-решение.
- Вопрос задан более двух лет назад
- 22460 просмотров
1 комментарий
Простой 1 комментарий

Запятая делает пробел
Решения вопроса 4

Владислав Мухин @SladkayaDoza
Обучаюсь программированию
name = input("Как вас зовут? ") print(f'Привет, !')
Ответ написан более двух лет назад
Комментировать
Нравится 6 Комментировать
lil.fxrrx @mxrdxfxrrx
flstudio20, py3.x
Можно так и не заморачиваться
name = input("Как вас зовут? ") print("Привет, "+name+"!")
Ответ написан более двух лет назад
Нравится 3 2 комментария
todoman @todoman Автор вопроса
Спасибо. Пока не знаю, что за плюсы по сторонам от имени.
lil.fxrrx @mxrdxfxrrx
todoman, эти плюсы могут добавлять содержимое переменной
почти тоже самое что и ваше print(«Привет,», name,»!»), но сейчас оно выглядит получше и может распространяться на больший круг строк

FullStackOverflow
Лучше учись сразу делать так
print(f'Hello !') print('Hello !'.format(name))
Ответ написан более двух лет назад
Нравится 2 4 комментария
lil.fxrrx @mxrdxfxrrx
очень запарно
todoman @todoman Автор вопроса
Попробовал, спасибо.
Но почувствовал, что прыгнул через несколько ступенек – неизвестные операторы.

todoman,
todoman,
тут все просто), один раз посмотрел и запомнил
age = 10 name = 'Мишша' print(f'Я , мне лет')
Как дойдешь до темы форматирования строк, там наверно объяснять почему лучше так не делать
print(«Привет, «+name+»!»)
lil.fxrrx @mxrdxfxrrx
Рамис, видно же что человек только начал изучать пайтон, ему еще до форматирования строк далековато, а вот этот пример со вставкой переменной будет более проще для него

А если нужно именно убрать вставку пробела между выводимыми значениями, то делаешь так:
print(‘Привет,’, name, ‘!’, sep=»)
При этом sep может быть любой строкой, например:
print(‘Привет,’, name, ‘!’, sep=’::’)
выведет «Привет. Вася. «
Аналогично есть параметр end, который указывает, что print() выведет после всех значений. По умолчанию это «\n» — переход на следующую строку, но можно указать end=», и тогда курсор останется на той же строке.
Какой метод нужен для удаления пробелов в строке python?
Если же лишние пробелы в середине строки, то придется сначала разбить строку на элементы списка с помощью метода split() , а потом собрать их обратно в строку через одиночный пробел и метод join() :
movie = 'Catch me if you can ' ' '.join(movie.split()) # 'Catch me if you can'
Как убрать пробелы в строке python
Для этого можно использовать метод replace() . Взгляните на пример ниже:
>>> word = 'he x l et' >>> word.replace(' ', '') 'hexlet'