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

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

от jerrold_langworth , в категории: Python , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от montana_hand , 3 года назад

@jerrold_langworth Вы можете использовать filter() функцию в Python, чтобы удалить все специальные символы из строки, пример кода:


1
2
3
4
5
string = "тест !?# 111 &"
string = ''.join(filter(str.isalnum, string))

# Вывод: тест111
print(string)


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

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

@jerrold_langworth 

Вы можете использовать регулярное выражение для удаления всех спецсимволов из строки в Python. Например, следующий код удаляет все спецсимволы из строки "string" и присваивает результат переменной "result":

1
2
3
4
import re
string = "Hello, world! #1"
result = re.sub(r'[^ws]', '', string)
print(result)


Вывод: 'Hello world 1'


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

1
2
3
4
import string
string = "Hello, world! #1"
result = string.translate(str.maketrans('', '', string.punctuation))
print(result)


Вывод: 'Hello world 1'