Удалить все буквы из строки python

Содержание
  1. 5 простых способов удалить символ из строки
  2. 1. Примитивный метод удаления символа из строки
  3. 2. Удаление элемента из строки с помощью метода replace()
  4. 3. Удаление символа с помощью срезов и конкатенации
  5. 4. Удаление символа с помощью метода join() и генераторов списков
  6. 5. Удаление символа из строки с помощью метода translate()
  7. Убираем конкретные символы из строки
  8. С помощью ' re.sub '
  9. Убрать все символы, кроме букв
  10. С помощью 'isalpha()'
  11. С помощью 'filter()'
  12. С помощью 're.sub()'
  13. Убрать все символы, кроме букв и чисел
  14. С помощью 'isalnum()'
  15. С помощью 're.sub()'
  16. Убрать все числа из строки, с помощью регулярных выражений
  17. С помощью 're.sub()'
  18. Убираем все символы из строки кроме цифр
  19. С помощью 'isdecimal()'
  20. С помощью 're.sub()'
  21. С помощью 'filter()'
  22. Примечание
  23. How To Remove Characters from a String in Python
  24. Remove Characters From a String Using the replace() Method
  25. Remove Newline Characters From a String Using the replace() Method
  26. Remove a Substring from a String Using the replace() Method
  27. Remove Characters a Specific Number of Times Using the replace() Method
  28. Remove Characters From a String Using the translate() Method
  29. Remove Multiple Characters From a String using the translate() method
  30. Remove Newline Characters From a String Using the translate() Method
  31. Conclusion

5 простых способов удалить символ из строки

Существует несколько методов, позволяющих удалить определенный символ из строки:

  • Примитивный метод.
  • Функция replace().
  • Срезы и конкатенация.
  • Метод join() и генератор списков.
  • Метод translate()

Важная деталь — строки в Python неизменяемы. Исходная строка останется нетронутой, а новую вернут методы, о которых написано выше.

Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo

1. Примитивный метод удаления символа из строки

Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. ( n — индекс элемента, который нам нужно удалить)

input_str = "pythonist" # Выводим в консоль исходную строку print ("Исходная строка: " + input_str) result_str = "" for i in range(0, len(input_str)): if i != 3: result_str = result_str + input_str[i] # Выводим в консоль строку после удаления i-го элемента print ("Строка после удаления i-го элемента: " + result_str)
Исходная строка: pythonist Строка после удаления i-го элемента: pytonist

2. Удаление элемента из строки с помощью метода replace()

str = "pythonist" print ("Исходная строка: " + str) res_str = str.replace('t', '') # Удаление всех 't' print("Строка после удаления всех символов t: " + res_str) # Удаление только первой t res_str = str.replace('t', '', 1) print ("Строка после удаления первого t: " + res_str)
Исходная строка: pythonist Строка после удаления всех символов t: pyhonis Строка после удаления первого t: pyhonist

Мини-задачка для вашей тренировки метода replace()

«Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на ‘$’, кроме самого первого символа.»

Пример: print(change_char(‘restart’))
»»» resta$t

Решение задачки можно глянуть у нас в канале

3. Удаление символа с помощью срезов и конкатенации

str = "pythonist" print ("Исходная строка: " + str) # Удаляем элемент с индексом 3 # с помощью срезов и объединения res_str = str[:3] + str[4:] print ("Строка после удаления символа: " + res_str
Исходная строка: pythonist Строка после удаления символа: pytonist

4. Удаление символа с помощью метода join() и генераторов списков

Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку.

str = "pythonist" print("Исходная строка: " + str) # Удаление элемента с индексом 2 # с помощью join() и генератора списков res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) print("Строка после удаления символа: " + res_str)
Исходная строка: pythonist Строка после удаления символа: pyhonist

5. Удаление символа из строки с помощью метода translate()

str = 'pythonist123pythonist' print(str.translate())

Источник

Читайте также:  Что значит return this java

Убираем конкретные символы из строки

С поомщью str.replace мы можем менять какие-то символы на другие. Если мы просто хотим убрать какие-то символы, тогда просто заменяем их на пустую строку. str.replace() будет применять замену ко всем найденным совподениям.

s="Hello$ Python3$" s1=s.replace("$", "") print (s1) # Результат: Hello Python3

Если мы можем указать ограничение для количества совпадений, чтобы не убирать все символы.

s="Hello$ Python3$" s1=s.replace("$", "", 1) print (s1) # Результат: Hello Python3$

С помощью ' re.sub '

Возвращает строку, полученную путем замены крайних левых неперекрывающихся
совпадений с шаблоном в строке на значение repl. Если совпадения с шаблоном
не найдены, возвращается неизмененная строка
— Из документации Python'а

Если мы хотим убрать символы, то просто заменяем совпадения на пустую строку.

s="Hello$@& Python3$" import re s1=re.sub("[$|@|&]","",s) print (s1) # Результат: Hello Python3
  • Заменяемый шаблон → “[ $ | @ | & ]”
  • [ ] используется для определения множества
  • $ | @ | & → будет искать $ или @ или &
  • Заменяем на пустую строку
  • Если вышеуказанные символы заменяются найдены, то они заменяются на пустую строку

Убрать все символы, кроме букв

С помощью 'isalpha()'

isalpha() используется для того, чтобы проверять, состоит ли строка только из букв. Возвращает True если является буквой. Мы будем проходить по каждому символу строки и проверять является ли он буквой.

s="Hello$@ Python3&" s1="".join(c for c in s if c.isalpha()) print (s1) # Результат: HelloPython

Перед нами объект генератор, содержащий все буквы из строки:
s1=””.join(c for c in s if c.isalpha())

””.join будет соединять все символы в одну строку.

С помощью 'filter()'

s = "Hello$@ Python3&" f = filter(str.isalpha, s) s1 = "".join(f) print(s1)

Функция filter() будет применять str.isalpha метод для каждого элемента строки, и если получаем истину , то мы возвращаем элемент. В противном случае - пропускаем.

Функция filter() вернет итератор, содержащий все буквы переданной строки, а join() будем "склеиват" все элементы друг с другом.

С помощью 're.sub()'

s = "Hello$@ Python3$" import re s1 = re.sub("[^A-Za-z]", "", s) print (s1) # Результат: HelloPython

Рассмотрим s1 = re.sub(“[^A-Za-z]”, ””, s)

  • “[ A-Za-z]”* → Ищет все символы, кроме букв. Если в начале множества указать * , тогда к шаблону будут подходить все те символы, которые НЕ указаны в множестве. (для русских слов используйте [^А-Яа-я] - прим. ред.)
  • Все символы, удовлетворяющие шаблону будут заменены на пустую строку.
  • Все символы, кроме букв, будут убраны.

Убрать все символы, кроме букв и чисел

С помощью 'isalnum()'

isalnum() используется, когда мы хотим определить состоит строка только из чисел или букв.

Пройдемся по каждому символу строки, что-бы выявить нужные символы.

s = "Hello$@ Python3&" s1 = "".join(c for c in s if c.isalnum()) print(s1) # Результат: HelloPython3

С помощью 're.sub()'

s = "Hello$@ Python3&_" import re s1 = re.sub("[^A-Za-z0-9]", "", s) print(s1) # Результат: HelloPython3
  • “[^A-Za-z0–9]” → Этот шаблон будет искать все символы, кроме букв и цифр.
  • Все найденные символы будут заменены на пустую строку
  • Все символы, кроме букв и цифры убраны.

Убрать все числа из строки, с помощью регулярных выражений

С помощью 're.sub()'

s = "Hello347 Python3$" import re s1 = re.sub("4", "", s) print(s1) # Результат: Hello Python$

Убираем все символы из строки кроме цифр

С помощью 'isdecimal()'

isdecimal() возвращает истину, если все символы строки являются цифрами, в противном случае возвращается ложь.

s = "1-2$3%4 5a" s1 = "".join(c for c in s if c.isdecimal()) print(s1) # Результат: 12345

Пороходим по каждому символу строки и проверяем и является ли он цифрой. "".join() соединяет все элементы.

С помощью 're.sub()'

s = "1-2$3%4 5a" import re s1 = re.sub("[^0-9]", "", s) print(s1) # Результат: 12345

Рассмотрим s1 = re.sub(“[^0–9]”, ””, s)

  • [^0-9] будет искать все символы кроме от 0 до 9
  • re.sub(“[^0–9]”, ””, s) все символы кроме цифр будут заменены на пустую строку.

С помощью 'filter()'

s = "1-2$3%4 5a" f = filter(str.isdecimal, s) s1 = "".join(f) print(s1) # Результат: 12345

Рассмотрим f = filter(str.isdecimal, s)

Функция filter() будет выполнять str.isdecimal метод для каждого символа, если он возвращает истину, то добовляет его в генератор. Затем генератор распаковывается в готовую строку с помощью метода join() .

Примечание

Строки в Python являются неизменяемыми объектами, поэтому все вышеуказаные методы убирает символы из данной строки и возвращает новую, они не меняют состояние оригинальной строки.

Рекомендуем хостинг TIMEWEB

Рекомендуем хостинг TIMEWEB

Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

По статье задано0 вопрос(ов)

Вам это нравится? Поделитесь в социальных сетях!

Источник

How To Remove Characters from a String in Python

How To Remove Characters from a String in Python

This article describes two common methods that you can use to remove characters from a string using Python:

To learn some different ways to remove spaces from a string in Python, refer to Remove Spaces from a String in Python.

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

The examples in this tutorial use the Python interactive console in the command line to demonstrate different methods that remove characters.

Remove Characters From a String Using the replace() Method

The String replace() method replaces a character with a new character. You can remove a character from a string by providing the character(s) to replace as the first argument and an empty string as the second argument.

Declare the string variable:

Replace the character with an empty string:

The output shows that both occurrences of the character a were removed from the string.

Remove Newline Characters From a String Using the replace() Method

Declare a string variable with some newline characters:

Replace the newline character with an empty string:

The output shows that both newline characters ( \n ) were removed from the string.

Remove a Substring from a String Using the replace() Method

The replace() method takes strings as arguments, so you can also replace a word in string.

Declare the string variable:

Replace a word with an empty string:

The output shows that the string Hello was removed from the input string.

Remove Characters a Specific Number of Times Using the replace() Method

You can pass a third argument in the replace() method to specify the number of replacements to perform in the string before stopping. For example, if you specify 2 as the third argument, then only the first 2 occurrences of the given characters are replaced.

Declare the string variable:

Replace the first two occurrences of the character with the new character:

The output shows that the first two occurrences of the a character were replaced by the A character. Since the replacement was done only twice, the other occurrences of a remain in the string.

Remove Characters From a String Using the translate() Method

The Python string translate() method replaces each character in the string using the given mapping table or dictionary.

Declare a string variable:

Get the Unicode code point value of a character and replace it with None :

The output shows that both occurrences of the b character were removed from the string as defined in the custom dictionary.

Remove Multiple Characters From a String using the translate() method

You can replace multiple characters in a string using the translate() method. The following example uses a custom dictionary, , that replaces all occurrences of a , b , and c in the given string with None .

Declare the string variable:

Replace all the characters abc with None :

The output shows that all occurrences of a , b , and c were removed from the string as defined in the custom dictionary.

Remove Newline Characters From a String Using the translate() Method

You can replace newline characters in a string using the translate() method. The following example uses a custom dictionary, , that replaces all occurrences of \n in the given string with None .

Declare the string variable:

Replace all the \n characters with None :

The output shows that all occurrences of the newline character \n were removed from the string as defined in the custom dictionary.

Conclusion

In this tutorial, you learned some of the methods you can use to remove 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!

Источник

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