Введение
Этот учебник содержит примеры различных методов, которые вы можете использовать для удаления пробелов из строки в 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()
удаляет ведущие и завершающие символы из строки. По умолчанию удаляется символ пробела.
Объявите переменную строки:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Используйте метод strip()
, чтобы удалить ведущие и завершающие пробелы:
- s.strip()
Результат:
Output'Hello World From DigitalOcean \t\n\r\tHi There'
Если вы хотите удалить только ведущие пробелы или завершающие пробелы, тогда вы можете использовать методы lstrip()
и rstrip()
.
Удаление всех пробелов с помощью метода replace()
Вы можете использовать метод replace()
, чтобы удалить все символы пробелов из строки, включая пробелы между словами.
Объявите строковую переменную:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Используйте метод replace()
, чтобы заменить пробелы пустой строкой:
- s.replace(" ", "")
Результат:
Output'HelloWorldFromDigitalOcean\t\n\r\tHiThere'
Удаление повторяющихся пробелов и символов новой строки с помощью методов join()
и split()
Вы можете удалить все повторяющиеся пробелы и символы новой строки, используя метод join()
с методом split()
. В этом примере метод split()
разбивает строку на список, используя стандартный разделитель – любой символ пробела. Затем метод join()
объединяет список обратно в одну строку с одним пробелом (" "
) между каждым словом.
Объявите переменную строкового типа:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Используйте методы join()
и split()
вместе, чтобы удалить повторяющиеся пробелы и символы новой строки:
- " ".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
:
- import string
Объявите переменную строки:
- s = ' Hello World From DigitalOcean \t\n\r\tHi There '
Используйте метод translate()
для удаления всех пробельных символов:
- s.translate({ord(c): None for c in string.whitespace})
Выходной результат:
Output'HelloWorldFromDigitalOceanHiThere'
Удаление пробельных символов с помощью регулярных выражений
Также вы можете использовать регулярное выражение для сопоставления пробельных символов и удаления их с помощью функции re.sub()
.
В этом примере используется файл 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