Как Удалить Пробелы Из Строки В Python

Введение

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

A Python String is immutable, so you can’t change its value. Any method that manipulates a string value returns a new string.

Разверните ваши приложения Python из GitHub, используя Платформу приложений DigitalOcean. Позвольте DigitalOcean масштабировать ваше приложение.

Примеры в этом учебнике используют интерактивную консоль Python в командной строке для демонстрации различных методов удаления пробелов. Примеры используют следующую строку:

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

Вывод:

Output
Hello World From DigitalOcean Hi There

Эта строка содержит различные типы пробелов и символов новой строки, такие как пробел ( ), табуляция (\t), перевод строки (\n) и возврат каретки (\r).

Удаление ведущих и завершающих пробелов с помощью метода strip()

Метод строки Python strip() удаляет ведущие и завершающие символы из строки. По умолчанию удаляется символ пробела.

Объявите переменную строки:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Используйте метод strip(), чтобы удалить ведущие и завершающие пробелы:

  1. s.strip()

Результат:

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

Если вы хотите удалить только ведущие пробелы или завершающие пробелы, тогда вы можете использовать методы lstrip() и rstrip().

Удаление всех пробелов с помощью метода replace()

Вы можете использовать метод replace(), чтобы удалить все символы пробелов из строки, включая пробелы между словами.

Объявите строковую переменную:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Используйте метод replace(), чтобы заменить пробелы пустой строкой:

  1. s.replace(" ", "")

Результат:

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

Удаление повторяющихся пробелов и символов новой строки с помощью методов join() и split()

Вы можете удалить все повторяющиеся пробелы и символы новой строки, используя метод join() с методом split(). В этом примере метод split() разбивает строку на список, используя стандартный разделитель – любой символ пробела. Затем метод join() объединяет список обратно в одну строку с одним пробелом (" ") между каждым словом.

Объявите переменную строкового типа:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Используйте методы join() и split() вместе, чтобы удалить повторяющиеся пробелы и символы новой строки:

  1. " ".join(s.split())

Результат:

Output
'Hello World From DigitalOcean Hi There'

Удаление всех пробелов и символов новой строки с использованием метода translate()

Вы можете удалить все пробелы и символы новой строки, используя метод translate(). Метод translate() заменяет указанные символы на символы, определенные в словаре или таблице сопоставления. В следующем примере используется пользовательский словарь с константой строки string.whitespace, которая содержит все символы пробела. Пользовательский словарь {ord(c): None for c in string.whitespace} заменяет все символы в string.whitespace на None.

Импортируйте модуль string, чтобы использовать string.whitespace:

  1. import string

Объявите переменную строки:

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

Используйте метод translate() для удаления всех пробельных символов:

  1. s.translate({ord(c): None for c in string.whitespace})

Выходной результат:

Output
'HelloWorldFromDigitalOceanHiThere'

Удаление пробельных символов с помощью регулярных выражений

Также вы можете использовать регулярное выражение для сопоставления пробельных символов и удаления их с помощью функции re.sub().

В этом примере используется файл regexspaces.py, чтобы показать некоторые способы использования регулярных выражений для удаления пробельных символов:

regexspaces.py
import re

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='')  # \s сопоставляет все пробельные символы
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^ сопоставляет начало
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $ сопоставляет конец
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | для условия ИЛИ

Запустите файл из командной строки:

python3 regexspaces.py

Вы получите следующий результат:

Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There  
Remove trailing spaces using regex:
  Hello  World   From DigitalOcean 	
	Hi There
Remove leading and trailing spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There

Вывод

В этом учебном пособии вы узнали о некоторых методах удаления пробельных символов из строк в Python. Продолжайте изучать строки Python.

Source:
https://www.digitalocean.com/community/tutorials/python-remove-spaces-from-string