Как удалить все знаки препинания из строки в Python?

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

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

Как удалить все знаки препинания из строки в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от ciara , год назад

@willa_will 

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

1
2
3
4
5
6
7
8
9
import re

def remove_punctuation(input_string):
    # Используем регулярное выражение, чтобы удалить все знаки препинания
    return re.sub(r'[^ws]', '', input_string)

input_string = "Hello, World! How are you doing today?"
output_string = remove_punctuation(input_string)
print(output_string)  # Выведет: Hello World How are you doing today


В этом примере регулярное выражение r'[^ws]' означает "все, что не является буквой, цифрой или пробелом". Мы используем это регулярное выражение в функции re.sub(), чтобы заменить все совпадения на пустую строку. В результате все знаки препинания будут удалены из строки.


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

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

от hoyt.jerde , год назад

@willa_will 

Вы можете использовать регулярное выражение и метод sub() из модуля re для удаления всех знаков препинания из строки.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import re

def remove_punctuation(input_string):
    # Make a regular expression 
    punct = r"[^ws]"
    # Replace all non-alphanumeric characters with a space
    return re.sub(punct, "", input_string)

#Example
string_with_punct = "Hello, World! How are you?"
print(remove_punctuation(string_with_punct))
# Output: "Hello World How are you"


В этом примере, punct регулярное выражение определяет все символы, которые не являются буквами, цифрами или пробелами. Метод sub() заменяет все совпадения с этим регулярным выражением на пустую строку.