@jorge Чтобы удалить все знаки препинания из строки, мы можем воспользоваться методом строки .replace()
1 2 3 4 5 6 7 8 9 |
import string # Библиотека, в которой мы можем получить массив с знаками пунктуации string_ = "Что можно встретить в лесу? Помимо деревьев, здесь можно найти животных : белок, лисиц, волков и медведей" for punc in string.punctuation: # Перебираем каждый знак пунктуации ( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ) string_ = string_.replace(punc, "") # Меняем текущую строку на эту же строку без конкретного знака препинания print(string_) # Выводим результат # Вывод : Что можно встретить в лесу Помимо деревьев здесь можно найти животных белок лисиц волков и медведей |
Если мы хотим очистить строку только от конкретных знаков препинания (',', '!', '.', ':') и т.п, то их можно вывести в отдельный массив :
1 2 3 4 5 6 7 8 |
punctuation = [',', '.', '?', '!', ':'] string_ = "Что можно встретить в лесу? Помимо деревьев, здесь можно найти животных : белок, лисиц, волков и медведей" for punc in punctuation: string_ = string_.replace(punc, "") print(string_) |
@jorge
Вы можете использовать модуль re
и функцию sub()
для удаления знаков препинания из строки.
1 2 3 4 5 6 |
import re string = "Hello, World! How are you?" string = re.sub(r'[^ws]','',string) print(string) # Output: "Hello World How are you" |
В приведенном выше коде re.sub(r'[^ws]','',string)
ищет все символы, которые не являются буквами, цифрами или пробелами ([^ws]
) и заменяет их на пустую строку ('').