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

Пользователь

от maymie , в категории: Python , 7 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marc_zboncak , 7 месяцев назад

@maymie 

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

  1. Использование встроенной функции isalpha() в цикле for:
1
2
3
4
5
6
string = "Привет, Мир!"
result = ""
for char in string:
    if not char.isalpha():
        result += char
print(result)  # Вывод: " , !"


  1. Использование генератора списков и функции isalpha():
1
2
3
string = "Привет, Мир!"
result = "".join([char for char in string if not char.isalpha()])
print(result)  # Вывод: " , !"


  1. Использование метода translate() с помощью модуля string:
1
2
3
4
5
6
import string

string = "Привет, Мир!"
translator = str.maketrans("", "", string.ascii_letters)
result = string.translate(translator)
print(result)  # Вывод: " , !"


  1. Использование регулярных выражений с модулем re:
1
2
3
4
5
import re

string = "Привет, Мир!"
result = re.sub('[a-zA-Z]', '', string)
print(result)  # Вывод: " , !"


Обратите внимание, что все эти способы удаляют только буквенные символы из строки, а остальные символы (цифры, знаки препинания и т.д.) остаются.