В Python есть несколько методов удаления пробелов в строках. Методы могут быть использованы при удалении пробелов во всем тексте, начале или конце.
Из-за того что строки являются неизменяемыми объектам каждая операция удаления или замены символов создает новую строку. Что бы сохранить новую строку мы должны будем присвоить ее переменной.
Удаление пробелов в начале и конце строки со 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({ord(c): None for c in string.whitespace})
Использование регулярных выражений
Используя регулярные выражения мы можем получить каждый из результатов полученных выше. Знак пробела, в регулярных выражениях, обозначается как '\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)
...