Как удалить все кроме букв Python?

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

от kurt , в категории: Python , 2 года назад

Как удалить все кроме букв Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от stephon , 2 года назад

@kurt 

Чтобы удалить все символы, кроме букв в строке на Python, можно использовать регулярное выражение и метод re.sub.


Например:

1
2
3
4
5
6
7
import re

def remove_non_letters(s):
  return re.sub(r'[^a-zA-Z]', '', s)

s = "Hello, World! 123"
print(remove_non_letters(s)) # выведет "HelloWorld"


В этом коде мы создаем функцию remove_non_letters, которая заменяет все символы, кроме букв в строке s, пустой строкой. Регулярное выражение '[^a-zA-Z]' означает "все символы, кроме букв латинского алфавита". Метод re.sub заменяет все совпадения регулярного выражения в строке s на пустую строку.


Обратите внимание, что это решение удалит также и пробелы из строки. Если вы хотите удалить только небуквенные символы, а оставить пробелы, можете использовать регулярное выражение '[^a-zA-Z ]' (замените ^a-zA-Z на ^a-zA-Z ). Это регулярное выражение о

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

от ian.heidenreich , 2 года назад

@kurt 

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

1
2
3
4
5
6
7
8
9
import re

# исходная строка
text = "Hello, 12 World!@#"

# использование регулярного выражения для удаления всех символов, кроме букв
result = re.sub(r'[^a-zA-Z]', '', text)

print(result)


вывод: 'HelloWorld'