Как удалить все знаки препинания в python
Перейти к содержимому

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

  • автор:

2 простых способа удалить знаки препинания в строках Python

Прежде чем углубиться в концепцию удаления знаков препинания, давайте сначала разберемся с ситуациями, в которых нам нужно удалить знаки препинания.

Когда дело доходит до получения значений данных из API или веб-скрейпинга, мы часто сталкиваемся со значениями данных в файлах JSON, которые содержат буквенно-цифровые строки, а также знаки препинания. Это делает всю строку немного неформатированной.

Это те случаи когда мы чувствуем необходимость устранить или удалить знаки препинания в строке.

Давайте теперь посмотрим на различные способы удаления знаков препинания из String.

1. Удалите знаки препинания с помощью библиотеки регулярных выражений.

Python предоставляет нам библиотеку регулярных выражений для работы со всеми видами регулярных выражений и управления ими.

Нам нужно импортировать приведенную ниже библиотеку для работы с регулярным выражением —

import re 

Мы будем использовать re.sub(pattern, replacement, original_string) для удаления знаков препинания.

re.sub(pattern, replacement, original_string) 
  1. pattern: знаки препинания или шаблон выражений, которые мы хотим заменить.
  2. replacement: строка, которая будет заменять шаблон.
import re inp_str = "Hello! Folks, we are here to learn, grow and glow!!" print("Original string:\n" + inp_str) opt = re.sub(r'[^\w\s]','', inp_str) print("String after deletion of punctuation marks:\n" + opt) 

Кроме того, мы использовали метод re.sub() для замены знаков препинания заменой, предусмотренной как ‘ ‘, то есть пробелом.

Original string: Hello! Folks, we are here to learn, grow and glow!! String after deletion of punctuation marks: Hello Folks we are here to learn grow and glow 

2. Использование цикла Python для удаления знаков препинания.

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

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

Попробуем разобраться в описанном выше методе на примере.

import re inp_str = "Hello! Folks, we are here to learn, grow and glow!!" print("Original string:\n" + inp_str) marks = '''!()-[]<>;?@#$%:'"\,./^&*_''' for x in inp_str: if x in marks: opt_str = inp_str.replace(x, "") print("String after deletion of punctuation marks:\n" + opt_str) 
Original string: Hello! Folks, we are here to learn, grow and glow!! String after deletion of punctuation marks: Hello Folks, we are here to learn, grow and glow 

Удаление пунктуации из строки

Для удаления пунктуации из строки Python воспользуемся методом строки str.replace() . А именно, в цикле пройдемся по всем символам пунктуации, и если они есть, то просто заменим его на пустую строку.

Что бы не вспоминать и не собирать все символы пунктуации в список, воспользуемся модулем string , который любезно предоставляет атрибут с символами пунктуации string.punctuation .

# исходная строка >>> line = '- Мама мыла раму, а Маша помогала. (из прописи 1 класса)' >>> import string >>> string.punctuation # '!"#$%&\'()*+,-./:;?@[\\]^_`<|>~' # пунктуацию будем удалять в цикле for p in string.punctuation: if p in line: # банальная замена символа в строке line = line.replace(p, '') >>> line.strip() # 'Мама мыла раму а Маша помогала из прописи 1 класса' 

Кстати таким же способом можно удалять например «стоп слова» из текста, который подготавливается к поиску.

  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Преобразование строки в число
  • Строку в список, кортеж или множество символов
  • Одинарные, двойные и тройные кавычки в строке Python
  • Вывод специальных символов в строке Python «как есть»
  • Объединение и повторение строк
  • Индексирование строк
  • Использование срезов строк
  • Cрез строки Python от заданного символа/знака до конца строки
  • Создание макета для печати базовыми методами строк
  • Способы форматирования текстовых строк
  • Подсчет повторений слов в тексте, деление строки на список слов
  • Удаление слова из строки Python по фрагменту или шаблону
  • Удаление пунктуации из строки
  • Деление строки по заглавным буквам
  • Создание отчетов и писем по шаблонам

Как убрать знаки препинания в тексте что бы проверить его на палиндром?

Ввести с клавиатуры строку и определить является ли она полиндромом. Учесть что символы знаков припинания и разделения текста не учитываются при поиске полиндрома, учитываются только буквы и цифры. Причем ручной выбор символов будет низко оценен!

str_1 = input() print(f» is Polindrom» if str_1 == str_1[::-1] else f» is NOTT Polindrom») Условий вроде никаких нет кроме того что ручной выбор символов будет низко оценен Кони, топот, инок, Но не речь, а черен он. Идем, молод, долом меди. Чин зван мечем навзничь. Голод, чем меч долог? Пал, а норов худ и дух ворона лап. А что? Я лав? Воля отча! Яд, яд, дядя! Иди, иди! Мороз в узел, лезу взором Солов зов, воз волос. Колесо. Жалко поклаж. Оселок. Сани, плот и воз, зов и толп и нас. Горд дох, ход дрог. И лежу. — Ужели? Зол, гол лог лоз. И к вам и трем с смерти мавки.

Отслеживать

13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков

Удалить из строки все знаки препинания. Пробелы оставить

Author24 — интернет-сервис помощи студентам

Удалить из строки все знаки препинания, оставив только буквы и пробелы
Петя пишет диктант. Ему не нравится ставить знаки препинания, поэтому он их пропускает. Дана.

Файл: Переписать в файл t все символы из строки s, исключая пробелы и знаки препинания.
Описать функцию red(s,t), которая переписывает в файл t все символы из строки s, исключая пробелы и.

Удвоить в заданной строке пробелы и удалить из неё все знаки препинания
Помогите пожалуйста)

Удалить все знаки препинания из строки
1. С клавиатуры, или из самой программы, или из файла в строковую переменную вносится некоторый.

Автоматизируй это!

Эксперт Python

7102 / 4606 / 1214
Регистрация: 30.03.2015
Сообщений: 13,218
Записей в блоге: 29

Jushara, в либе string есть атрибут punctuation, там все знаки препинания, перебираешь их и удаляешь из текущего текста.

1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
Зачем find? Есть str.replace
Регистрация: 07.10.2019
Сообщений: 245
Дальше этого не могу зайти

1 2 3
my_str = "На лекции отличились трое: Князев, Никифиров и Пахомов" my_str = my_str.replace(":", "\n ") print(my_str)

Добавлено через 6 минут

1 2 3 4
my_str = "На лекции отличились трое: Князев, Никифиров и Пахомов" my_str = my_str.replace(".", "") my_str = my_str.replace(",", "") print(my_str)

3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909

Лучший ответ

Сообщение было отмечено Jushara как решение

Решение

1 2 3 4 5
>>> import string >>> my_str = "На лекции отличились трое: Князев, Никифиров и Пахомов" >>> tt = str.maketrans(dict.fromkeys(string.punctuation)) >>> my_str.translate(tt) 'На лекции отличились трое Князев Никифиров и Пахомов'

Регистрация: 10.03.2020
Сообщений: 2

1 2 3 4 5 6
z = input() #e = список знаков препинания формат ,"#знак препинания" e = ",", "." for i in range(len(e)): z = z.replace(e[i], "") print(z)

Регистрация: 10.03.2020
Сообщений: 2

может кому-нибудь понадобится в любом случае я зашёл сюда только посмотреть другие варианты подобного кода Ну и кинул свои 5 копеек

Регистрация: 07.11.2021
Сообщений: 21

1 2 3 4 5 6 7 8 9 10 11 12 13
def strip_punctuation_ru(s): punctuations = '''!()—[]<>;:'"\,<>./?@#$%^&*_~''' new_s = "" for char in s: if char in punctuations: new_s += ' ' else: new_s += char new_s = new_s.replace(" - ", " ") return " ".join(new_s.split()) print(strip_punctuation_ru(input()))

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17064 / 10010 / 2764
Регистрация: 21.10.2017
Сообщений: 21,964

ЦитатаСообщение от Goshik123 Посмотреть сообщение

» «.join(new_s.split())
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Удалить из строки все знаки препинания
Пусть с клавиатуры вводятся строка и символ. Если введённый символ является знаком препинания, то.

Удалить все знаки препинания из строки
Ребят, подскажите, пожалуйста, условие, которое удаляет все знаки препинания из строки, а лучше.

Удалить из строки все знаки препинания
Дана строка символов ( 2-3 строки ) в файле F1. Составить функцию , удаляющую из строки все .

Функция: удалить из строки все знаки препинания
12. Написать функцию, которая удаляет из строки все знаки препинания. Заголовок функции: void.

Из заданной строки удалить все знаки препинания
Дана строка символов. Из заданной строки удалить все знаки препинания. Через string

Или воспользуйтесь поиском по форуму:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *