Удалить пробелы строке python

Как в Python удалить пробелы из строки

Строки в Python – это неизменяемые объекты. Поэтому после инициализации строки мы не можем просто так вносить изменения, добавлять или исключать какие-либо символы.

Python имеет огромный набор функций, которые можно использовать при работе со строками. Но все строковые функции возвращают новое значение, поскольку они не могут изменить исходное значение строки.

Давайте ещё раз обратим внимание на этот момент. Любая функция, которая работает со строковыми значениями в Python, возвращает новую строку, которую можно присвоить новой переменной. Только таким образом мы можем изменить исходную строку.

Наиболее часто используемые строковые функции в Python – это capitalize(), split(), count(), find(), index(), join(), replace() и другие.

В этой статье мы разберем, как в Python удалить пробелы из строки. Мы рассмотрим три метода, которые чаще всего используются с этой целью.

Предположим, у нас есть следующая строка:

PyString = ‘This is Python String \n\t’

Помимо букв, строка PyString содержит четыре пробела, символ новой строки \n и символ табуляции \t . Давайте на примерах рассмотрим, как можно удалить эти пробелы из PyString .

Как удалить пробелы из строки с помощью 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 \n\t' >>> PyString.replace(" ", "") 'ThisisPythonString\n\t'

Как мы видим, мы удалили все пробелы, но символы \n\t остались в строке. Если запустить print(PyString.replace(» «, «»)) , выведется строка ThisisPythonString и пустая строка следом.

Читайте также:  Python версии всех модулей

Используем методы split() и join()

Следующий пример – это комбинация split() и join() — двух строковых методов Python. Функция split() разделяет строку по указанному разделителю и возвращает разделенные элементы исходной строки в виде списка. Общий синтаксис функции split() выглядит следующим образом:

variableName.split(separator, count)

Итак, давайте разбираться. VariableName – это переменная, содержащая исходную строку.

Аргумент separator определяет разделитель, который будет использоваться для разделения исходной строки. Этот аргумент необязателен. Значение по умолчанию – пробел.

Счетчик count определяет количество разделений, которое необходимо сделать. Это также необязательный аргумент. Его значение по умолчанию – это все вхождения. То есть сколько раз разделитель встречается, столько раз мы и дробим строку.

Кроме того, есть обратная функция — join(), которая принимает итерируемый объект и возвращает все его элементы, объединенные в одну строку. Ниже приведен синтаксис функции join():

Рассмотрим, что здесь есть. Аргумент iterable представляет собой итерируемый объект, содержащий элементы, которые будут возвращены в виде одной строки. Этот аргумент обязателен.

VariableName – это строка, которая служит сепаратором. Когда элементы iterable будут объединены, этот сепаратор будет вставлен между ними. Если VariableName указать как пустую строку ( «» ), объединяемые элементы будут просто идти друг за другом, без разделителей.

Используем методы split() и join(), чтобы удалить пробелы из строки PyString :

>>> PyString = 'This is Python String \n\t' >>> "".join(PyString.split()) 'ThisisPythonString'

В результате мы получили то, что хотели – все пробелы удалены. Также мы удалили символы \n\t .

Как удалить пробелы из строки с помощью translate()

В последнем примере мы рассмотрим, как удалить пробелы из строки при помощи такой функции, как translate().

Функция translate() чем-то схожа с функцией replace(). Общая цель функций translate() и replace() – заменить определенный символ в заданной строке на другой символ. Однако определённые различия всё-таки есть.

Давайте посмотрим на синтаксис функции translate():

varibaleName.transalate(value)

Здесь VariableName – это переменная, содержащая строку. Аргумент value представляет собой таблицу сопоставления или символ словаря, который определяет, как выполнять замену.

Ниже приведен код с использованием функции translate() для замены пробелов в строке:

>>> PyString = 'This is Python String \n\t' >>> mytable = PyString.maketrans('','',' \n\t\r') >>> PyString.translate(mytable) 'ThisisPythonString'

Мы удалили все пробелы, а также символы \n\t .

Заключение

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

Ключевой момент, который следует иметь в виду, заключается в том, что строки в Python неизменяемы, поэтому мы не можем просто удалить или добавить какой-либо символ. Необходимо создать новую строку для хранения измененной строки.

Надеемся, данная статья была полезна для вас. Успехов в написании кода!

Источник

Как удалить пробелы из строки в Python

Есть несколько способов удалить пробелы из строки в Python. Python String неизменяем, поэтому мы не можем изменить его значение. Любая функция, которая управляет строковым значением, возвращает новую строку, и мы должны явно назначить ее строке, иначе строковое значение не изменится.

Допустим, у нас есть пример строки, определенной как:

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

Эта строка имеет разные типы пробелов, а также символы новой строки.

Читайте также:  Array in java with scanner

Давайте посмотрим на различные функции для удаления пробелов.

strip()

Строковая функция strip() удаляет начальные и конечные пробелы.

>>> s.strip() 'Hello World From Pankaj \t\n\r\tHi There'

Если вы хотите удалить только начальные или конечные пробелы, используйте вместо них функцию lstrip() или rstrip().

replace()

Мы можем использовать replace(), чтобы удалить все пробелы из строки. Эта функция также удалит пробелы между словами.

>>> s.replace(" ", "") 'HelloWorldFromPankaj\t\n\r\tHiThere'

join() с split()

Если вы хотите избавиться от всех повторяющихся пробелов и символов новой строки, вы можете использовать функцию join() с функцией string split().

>>> " ".join(s.split()) 'Hello World From Pankaj Hi There'

translate()

Если вы хотите избавиться от всех пробелов, а также от символов новой строки, вы можете использовать строковую функцию translate().

>>> import string >>> s.translate() 'HelloWorldFromPankajHiThere'

Удаление пробелов из строки в python

Python удаляет пробелы из строки с помощью Regex

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

import re s = ' Hello World From Pankaj \t\n\r\tHi There ' print('Remove all spaces using RegEx:\n', re.sub(r"\s+", "", s), sep='') # \s matches all white spaces print('Remove leading spaces using RegEx:\n', re.sub(r"^\s+", "", s), sep='') # ^ matches start print('Remove trailing spaces using RegEx:\n', re.sub(r"\s+$", "", s), sep='') # $ matches end print('Remove leading and trailing spaces using RegEx:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | for OR condition
Remove all spaces using RegEx: HelloWorldFromPankajHiThere Remove leading spaces using RegEx: Hello World From Pankaj Hi There Remove trailing spaces using RegEx: Hello World From Pankaj Hi There Remove leading and trailing spaces using RegEx: Hello World From Pankaj Hi There

Источник

How To Remove Spaces from a String In Python

How To Remove Spaces from a String In Python

This tutorial provides examples of various methods you can use to remove whitespace from a string in Python.

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

The examples in this tutorial use the Python interactive console in the command line to demonstrate different methods that remove spaces. The examples use the following string:

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

This string has different types of whitespace and newline characters, such as space ( ), tab ( \t ), newline ( \n ), and carriage return ( \r ).

Remove Leading and Trailing Spaces Using the strip() Method

The Python String strip() method removes leading and trailing characters from a string. The default character to remove is space.

Declare the string variable:

Use the strip() method to remove the leading and trailing whitespace:

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

If you want to remove only the leading spaces or trailing spaces, then you can use the lstrip() and rstrip() methods.

Remove All Spaces Using the replace() Method

You can use the replace() method to remove all the whitespace characters from the string, including from between words.

Читайте также:  Cpp bag what is it

Declare the string variable:

Use the replace() method to replace spaces with an empty string:

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

Remove Duplicate Spaces and Newline Characters Using the join() and split() Methods

You can remove all of the duplicate whitespace and newline characters by using the join() method with the split() method. In this example, the split() method breaks up the string into a list, using the default separator of any whitespace character. Then, the join() method joins the list back into one string with a single space ( » » ) between each word.

Declare the string variable:

Use the join() and split() methods together to remove duplicate spaces and newline characters:

Output
'Hello World From DigitalOcean Hi There'

Remove All Spaces and Newline Characters Using the translate() Method

You can remove all of the whitespace and newline characters using the translate() method. The translate() method replaces specified characters with characters defined in a dictionary or mapping table. The following example uses a custom dictionary with the string.whitespace string constant, which contains all the whitespace characters. The custom dictionary replaces all the characters in string.whitespace with None .

Import the string module so that you can use string.whitespace :

Declare the string variable:

Use the translate() method to remove all whitespace characters:

Output
'HelloWorldFromDigitalOceanHiThere'

Remove Whitespace Characters Using Regex

You can also use a regular expression to match whitespace characters and remove them using the re.sub() function.

This example uses the following file, regexspaces.py , to show some ways you can use regex to remove whitespace characters:

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 matches all white spaces print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='') # ^ matches start print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='') # $ matches end print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | for OR condition 

Run the file from the command line:

You get the following output:

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 

Conclusion

In this tutorial, you learned some of the methods you can use to remove whitespace characters from strings in Python. Continue your learning about Python strings.

Want to deploy your application quickly? Try Cloudways, the #1 managed hosting provider for small-to-medium businesses, agencies, and developers — for free. DigitalOcean and Cloudways together will give you a reliable, scalable, and hassle-free managed hosting experience with anytime support that makes all your hosting worries a thing of the past. Start with $100 in free credits!

Источник

Оцените статью