Удаление знаков препинания из строки

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

Что нужно знать

Перед изучением примера полезно понимать:

Описание задачи

Иногда нужно разбить предложение на список слов. Перед этим обычно очищают строку от знаков препинания. Ниже пример того, как это делается.

Исходный код

# define punctuation
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''

my_str = "Hello!!!, he said ---and went."

# To take input from the user
# my_str = input("Enter a string: ")

# remove punctuation from the string
no_punct = ""
for char in my_str:
   if char not in punctuations:
       no_punct = no_punct + char

# display the unpunctuated string
print(no_punct)

Вывод

Hello he said and went

Как это работает

Сначала задаём строку punctuations со всеми знаками препинания, которые нужно убрать. Затем проходим по исходной строке циклом for.

На каждой итерации проверяем, является ли текущий символ знаком препинания — с помощью оператора принадлежности in. Если символ не входит в punctuations, добавляем его к новой строке no_punct. В конце выводим очищенный результат.