Python — это высокоуровневый язык программирования общего назначения с упором на читаемость кода. Он поддерживает различные парадигмы программирования, например, структурное, объектно-ориентированное и функциональное программирование. Зачастую Python описывают как язык со “встроенными батарейками” благодаря его обширной стандартной библиотеке.
В этом руководстве мы рассмотрим различные способы удаления пробелов из строки в Python.
Предварительные требования
Для выполнения шагов, описанных в этом руководстве, вам понадобятся следующие компоненты:
-
- Правильно настроенный компьютер с Linux, например, VPS на базе Ubuntu от CloudSigma.
-
- Правильно настроенная среда разработки Python. Ознакомьтесь с настройкой среды разработки Python на Ubuntu.
-
- Подходящий текстовый редактор, например, Brackets, VS Code, Sublime Text, Vim/NeoVim и т. д.
Шаг 1 – Создание скрипта Python
Для демонстрации мы создадим скрипт Python remove-space.py и поместим туда весь наш код. Затем мы запустим скрипт с помощью интерпретатора Python.
Сначала создайте скрипт Python:
|
1 |
touch remove-space.py |

Откройте скрипт в текстовом редакторе:
|
1 |
nano remove-space.py |

Далее мы создадим строковую переменную s и присвоим ей строку:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

Если мы добавим функцию print(), мы сможем увидеть, как интерпретируется строка:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

Здесь:
-
- Функция
print()принимает строку в качестве аргумента.
- Функция
-
- Функция
print()может интерпретировать символы обратной косой черты.
- Функция
Запустите скрипт:
|
1 |
python remove-space.py |

Шаг 2 – Удаление начальных и конечных пробелов
С помощью функции strip() мы можем удалить начальные и конечные символы строки.
Следующий код демонстрирует использование функции strip() для переменной s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


Обратите внимание, что функция strip() удаляет все начальные и конечные пробелы. Если вы хотите удалить только начальные или только конечные пробелы, используйте lstrip() или rstrip() соответственно:
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


Шаг 3 – Удаление всех пробелов
С помощью функции replace() мы можем заменять содержимое в строке. Используя эту возможность, мы можем заменить все пробелы ничем, тем самым удалив их.
Давайте применим replace() на практике. Посмотрите на следующий код:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


Здесь:
-
- Первый параметр функции
replace()определяет шаблон для поиска в заданной строке.
- Первый параметр функции
-
- Второй параметр функции
replace()определяет содержимое для замены.
- Второй параметр функции
Шаг 4 – Удаление пробелов с помощью split() и join()
В этом разделе мы будем использовать функции split() и join().
-
split(): принимает строку и разбивает ее на список. Точки разбиения определяются разделителем.
-
join(): принимает список и объединяет его обратно в одну строку. Части объединяются с помощью одного пробела (” “).
Давайте применим эти функции на практике. Посмотрите на следующий код:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


Здесь:
-
- Мы объединили использование
split(),join()иprint()в одну строку.
- Мы объединили использование
-
- Результат работы функции
split()передается в качестве аргумента для функцииjoin().
- Результат работы функции
-
- Результат работы функции
join()функция передается в качестве аргумента дляprint()функции.
- Результат работы функции
Шаг 5 – Удаление пробелов с помощью translate()
В Python translate() функция заменяет указанные символы символами, определенными в словаре или таблице сопоставления.
В этом примере мы будем использовать string.whitespace словарь, который содержит все пробельные символы.
Посмотрите на следующий код:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


Шаг 6 – Удаление пробелов с помощью регулярных выражений
Регулярное выражение (или сокращенно “regex”) — это мощная функция во многих языках программирования. Любое регулярное выражение состоит из последовательности символов, образующих шаблон поиска. Регулярное выражение можно использовать для проверки того, содержит ли строка указанный шаблон.
Python также поддерживает регулярные выражения, что значительно расширяет его возможности по работе с текстом. В этом разделе мы будем использовать регулярные выражения для удаления любых пробельных символов, найденных в нашей тестовой строке.
Посмотрите на следующий код:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('Удалить все пробелы:\n', re.sub(r"\s+", "", s), sep='') # \s соответствует всем пробельным символам print('Удалить начальные пробелы:\n', re.sub(r"^\s+", "", s), sep='') # ^ соответствует началу print('Удалить конечные пробелы:\n', re.sub(r"\s+$", "", s), sep='') # $ соответствует концу print('Удалить начальные и конечные пробелы:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | для условия ИЛИ |


Здесь,
-
- Мы импортируем
re, специализированный пакет для работы с регулярными выражениями.
- Мы импортируем
Заключение
В этом руководстве мы продемонстрировали различные способы работы с пробелами в строке в Python. В процессе мы также изучили простое использование различных функций, таких как split(), join(), replace(), translate(), и т. д.
Хотите узнать больше о Python? Ознакомьтесь со следующими руководствами:
Комментарии
Комментариев пока нет. Будьте первым.