Перейти к содержимому

Как убрать пробелы в строке python

  • автор:

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

Удаление и форматирование пробелов в строках с Python

В Python есть несколько методов удаления пробелов в строках. Методы могут быть использованы при удалении пробелов во всем тексте, начале или конце.

Из-за того что строки являются неизменяемыми объектам каждая операция удаления или замены символов создает новую строку. Что бы сохранить новую строку мы должны будем присвоить ее переменной.

Навигация по посту

  • Удаление пробелов в начале и конце строки со strip()
  • Замена всех пробелов с replace()
  • Удаление с join и split
  • Использование translate()
  • Использование регулярных выражений

Удаление пробелов в начале и конце строки со strip()

Для удаления пробелов в начале и конце строки можно использовать функцию strip(), как на примере ниже:

string = " My name is \n Alex " string = string.strip()

Замена пробелов в строке с Python strip()

Для удаления символов в начале текста есть lstrip():

word = " My name is \n Alex " word = word.lstrip()

Замена пробелов в строке с Python lstrip() слева

Противоположная операция — rstrip(), удалит символы только справа:

i = " My name is \n Alex " i = i.rstrip()

Замена пробелов в строке с Python strip() справа

Замена всех знаков с replace()

Когда нужно удалить все нужные символы используйте replace():

d = " My name is \n Alex " d = d.replace(' ', '')

Замена всех пробелов в строке с Python replace()

В отличие от методов strip с replace можно заменить задвоенные символы:

v = " My name is \n Alex " v = v.replace(' ', '')

Замена задвоенных пробелов в строке с Python replace()

Удаление с join и split

Если нужно удалить все пробелы и символы новой строки ‘\n’ можно преобразовать строку в массив (используя пробелы как разделитель) и преобразовать массив обратно в строку уже добавив пробелы между значениями:

n = " My name is \n Alex " n = n.replace(' ', '')

Замена пробелов в строке Python с join и split

Вам так же будет интересно:

Используем Python Pillow для вставки текста и изображения в картинку

Использование translate()

translate возвращает копию строки в которой все символы будут заменены в соответствии с таблицей. С помощью следующего способа эта операция пройдет с пробелами:

import string s = ' word1 word2 word3' s = s.translate()

Замена пробелов в строке Python с translate

Использование регулярных выражений

Используя регулярные выражения мы можем получить каждый из результатов полученных выше. Знак пробела, в регулярных выражениях, обозначается как ‘\s’. Знак ‘+’ говорит об одном или множестве повторений символа. В примере ниже будут заменены все символы пробела:

import re h = ' Hello world 1 2 3' h = re.sub(r'\s+', '', h)

Замена пробелов в строке Python регулярными выражениями

Для замены указанных знаков в начале текста можно использовать знак ‘^’:

import re j = ' Hello world 1 2 3' j = re.sub(r'^\s+', '', j)

Замена пробелов в строке Python регулярными выражениями в начале строки

Конец текста обозначает знак ‘$’. С помощью его мы заменим нужные символы в конце строки в следующем примере:

import re string = ' Hello world 1 2 3 ' string = re.sub(r'\s+$', '', string)

Замена пробелов в строке Python регулярными выражениями в конце строки

Используя знак ‘|’, который в регулярных выражения работает как ‘or’, мы сможем заменить символы в начале и конце:

import re string = ' Hello world 1 2 3 ' string = re.sub(r'^\s+|\s+$', '', string)

Как убрать пробел в строке print в Питон?

Как убрать пробел между словом и восклицательным знаком? В коде пробела нет.

Заранее спасибо, всегда выбираю Ответ-решение.

  • Вопрос задан более двух лет назад
  • 22460 просмотров

1 комментарий

Простой 1 комментарий

ramzis

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

SladkayaDoza

Владислав Мухин @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,»!»), но сейчас оно выглядит получше и может распространяться на больший круг строк

ramzis

FullStackOverflow
Лучше учись сразу делать так

print(f'Hello !') print('Hello !'.format(name))

Ответ написан более двух лет назад
Нравится 2 4 комментария
lil.fxrrx @mxrdxfxrrx
очень запарно
todoman @todoman Автор вопроса
Попробовал, спасибо.
Но почувствовал, что прыгнул через несколько ступенек – неизвестные операторы.

ramzis

todoman,
todoman,
тут все просто), один раз посмотрел и запомнил

age = 10 name = 'Мишша' print(f'Я , мне лет')

Как дойдешь до темы форматирования строк, там наверно объяснять почему лучше так не делать
print(«Привет, «+name+»!»)

lil.fxrrx @mxrdxfxrrx

Рамис, видно же что человек только начал изучать пайтон, ему еще до форматирования строк далековато, а вот этот пример со вставкой переменной будет более проще для него

Vindicar

А если нужно именно убрать вставку пробела между выводимыми значениями, то делаешь так:
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' 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *