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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@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)  # Вывод: " , !"


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

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

от stanford_mosciski , 2 месяца назад

@maymie 

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

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


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

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


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