Строки в Python – это неизменяемые объекты. Поэтому после инициализации строки мы не можем просто так вносить изменения, добавлять или исключать какие-либо символы.
Python имеет огромный набор функций, которые можно использовать при работе со строками. Но все строковые функции возвращают новое значение, поскольку они не могут изменить исходное значение строки.
Давайте ещё раз обратим внимание на этот момент. Любая функция, которая работает со строковыми значениями в Python, возвращает новую строку, которую можно присвоить новой переменной. Только таким образом мы можем изменить исходную строку.
Наиболее часто используемые строковые функции в Python – это capitalize(), split(), count(), find(), index(), join(), replace() и другие.
В этой статье мы разберем, как в Python удалить пробелы из строки. Мы рассмотрим три метода, которые чаще всего используются с этой целью.
Предположим, у нас есть следующая строка:
PyString = ‘This is Python String nt’
Помимо букв, строка PyString содержит четыре пробела, символ новой строки n и символ табуляции t . Давайте на примерах рассмотрим, как можно удалить эти пробелы из PyString .
Как удалить принудительный разрыв строки в Word
Как удалить пробелы из строки с помощью replace()
Как упоминалось выше, функция replace() – это одна из наиболее часто используемых строковых функций в Python. С ее помощью можно заменить определенный символ, слово или фразу в указанной строке. Синтаксис функции replace():
variableName.replace(OldString, NewString, count)
Давайте разберем представленный синтаксис подробнее.
Прежде всего, VariableName – это переменная, которая содержит исходную строку.
OldString – это слово, символ или фраза, которые необходимо заменить. NewString – это новое слово, символ или фраза, которые должны заменить старое значение в строке. Эти два аргумента являются обязательными.
Наконец, count указывает количество вхождений старого значения, которое следует заменить. Другими словами, count показывает, сколько раз нужно заменить старое значение OldString на новое NewString . Этот параметр необязателен. Если счетчик count не указан, по умолчанию будут заменены все вхождения OldString .
Указав в качестве OldString пробел, а в качестве NewString пустую строку, и пропустив параметр count , мы избавимся от всех пробелов в исходной строке PyString . Для наглядности даем пример выполнения кода в консоли:
>>> PyString = ‘This is Python String nt’ >>> PyString.replace(» «, «») ‘ThisisPythonStringnt’
Как мы видим, мы удалили все пробелы, но символы nt остались в строке. Если запустить print(PyString.replace(» «, «»)) , выведется строка ThisisPythonString и пустая строка следом.
Используем методы split() и join()
Следующий пример – это комбинация split() и join() — двух строковых методов Python. Функция split() разделяет строку по указанному разделителю и возвращает разделенные элементы исходной строки в виде списка. Общий синтаксис функции split() выглядит следующим образом:
Урок 11 Строки и их методы Python
variableName.split(separator, count)
Итак, давайте разбираться. VariableName – это переменная, содержащая исходную строку.
Аргумент separator определяет разделитель, который будет использоваться для разделения исходной строки. Этот аргумент необязателен. Значение по умолчанию – пробел.
Счетчик count определяет количество разделений, которое необходимо сделать. Это также необязательный аргумент. Его значение по умолчанию – это все вхождения. То есть сколько раз разделитель встречается, столько раз мы и дробим строку.
Кроме того, есть обратная функция — join(), которая принимает итерируемый объект и возвращает все его элементы, объединенные в одну строку. Ниже приведен синтаксис функции join():
variableName.join(iterable)
Рассмотрим, что здесь есть. Аргумент iterable представляет собой итерируемый объект, содержащий элементы, которые будут возвращены в виде одной строки. Этот аргумент обязателен.
VariableName – это строка, которая служит сепаратором. Когда элементы iterable будут объединены, этот сепаратор будет вставлен между ними. Если VariableName указать как пустую строку ( «» ), объединяемые элементы будут просто идти друг за другом, без разделителей.
Используем методы split() и join(), чтобы удалить пробелы из строки PyString :
>>> PyString = ‘This is Python String nt’ >>> «».join(PyString.split()) ‘ThisisPythonString’
В результате мы получили то, что хотели – все пробелы удалены. Также мы удалили символы nt .
Как удалить пробелы из строки с помощью translate()
В последнем примере мы рассмотрим, как удалить пробелы из строки при помощи такой функции, как translate().
Функция translate() чем-то схожа с функцией replace(). Общая цель функций translate() и replace() – заменить определенный символ в заданной строке на другой символ. Однако определённые различия всё-таки есть.
Давайте посмотрим на синтаксис функции translate():
varibaleName.transalate(value)
Здесь VariableName – это переменная, содержащая строку. Аргумент value представляет собой таблицу сопоставления или символ словаря, который определяет, как выполнять замену.
Ниже приведен код с использованием функции translate() для замены пробелов в строке:
>>> PyString = ‘This is Python String nt’ >>> mytable = PyString.maketrans(»,»,’ ntr’) >>> PyString.translate(mytable) ‘ThisisPythonString’
Как удалить пробелы из строки в Python
Есть несколько способов удалить пробелы из строки в Python. Python String неизменяем, поэтому мы не можем изменить его значение. Любая функция, которая управляет строковым значением, возвращает новую строку, и мы должны явно назначить ее строке, иначе строковое значение не изменится.
Допустим, у нас есть пример строки, определенной как:
s = ‘ Hello World From Pankaj tnrtHi There ‘
Эта строка имеет разные типы пробелов, а также символы новой строки.
Давайте посмотрим на различные функции для удаления пробелов.
strip()
Строковая функция strip() удаляет начальные и конечные пробелы.
>>> s.strip() ‘Hello World From Pankaj tnrtHi There’
Если вы хотите удалить только начальные или конечные пробелы, используйте вместо них функцию lstrip() или rstrip().
replace()
Как удалить пробелы в строке в Python
Строка Python — это неизменяемый объект. Строковые литералы заключаются либо в одинарные, либо в двойные кавычки. Чтобы отобразить строковый литерал, используйте метод print().
Удаление пробелов в Python
- strip(): возвращает новую строку после удаления всех заголовков и завершающих пробелов, включая табуляцию(t).
- rstrip(): возвращает новую строку с удаленными пробелами в конце или удалением пробелов с «правой» стороны строки.
- lstrip(): возвращает новую строку с удаленными ведущими пробелами или удалением пробелов с «левой» стороны строки.
Кроме того, помимо вышеперечисленных функций, вы также можете использовать следующую функцию или комбинацию функций для удаления пробелов в Python:
- Python strip()
- Python replace()
- String join() с split()
- Python translate().
Python strip()
String strip() в Python — это встроенный метод, который удаляет начальные и конечные пробелы. Если вы хотите удалить начальные пробелы строки или конечные пробелы строки, используйте методы lstrip() или rstrip().
Источник: python-lab.ru