Рубрики
Без рубрики

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

Python Pool предлагает вам подробную статью о том, как удалить знаки препинания из строки, списка и файла в Python с различными примерами.

Автор оригинала: Team Python Pool.

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

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

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

Что такое Знак препинания?

Согласно Google: Любой из знаков (например, точка, запятая или вопросительный знак), используемый для разделения текста на предложения, предложения и т. Д., известен как знаки препинания. Вообще говоря, в английской грамматике перечислено 14 Знаков препинания: точка (точка), вопросительный знак, восклицательный знак, запятая, точка с запятой, двоеточие, тире, дефис, круглые скобки, скобки, апостроф, кавычки и многоточия. В этой статье мы увидим, как удалить эти знаки препинания из нашей программы с помощью Python.

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

Переходя к первой части нашей статьи, мы обсудим все возможные способы удаления знаков препинания из строки в Python. В то же время копать и исследовать эту конкретную тему. Я узнал о 5 способах удаления знаков препинания из строки. Я постараюсь сделать все возможное, чтобы объяснить на примерах и шаг за шагом пошаговое руководство, чтобы получить четкую идею. Вы не будете заглядывать на другие сайты или видеоуроки после прочтения всего этого сочинения.

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

5 способов удалить знаки препинания из строки в Python:

  1. Использование петель и знаков препинания строка
  2. Использование регулярного выражения
  3. С помощью метода translate()
  4. Использование метода join()
  5. С помощью Выражения генератора

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

Использование цикла for и строки пунктуации

Эта программа удалит все знаки препинания из строки. Мы оценим каждую часть strong, используя for loop. Время от времени нам может понадобиться разбить предложение на список фраз. В таких ситуациях мы могли бы сначала вымыть строку и устранить все знаки препинания. Вот хорошая иллюстрация того, как это делается.

Давайте посмотрим на работу на примере:

./[email protected]#$%^&*_~'''
("Enter a string: ")

for char in inp_str:
   if char not in punctuations:
       + char

print("Punctuation Free String: ",no_punc)

Выход:

Enter a string: Hi I am Karan from @python.pool
Punctuation Free String:  Hi I am Karan from pythonpool

Объяснение

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

В этой программе мы сначала определили стронг с именем 'пунктуации', состоящий из всех знаков препинания. После этого мы взяли входные данные от пользователя и сохранили их в 'inp_str'. Затем мы перебираем предоставленную строку с помощью цикла for.Мы проверяем, является ли символ знаком препинания или нет, используя оценку членства в каждой итерации. У нас есть пустой strong, к которому мы включаем (объединяем) символ, если это не пунктуация. В конечном счете, мы показываем очищенную строку.

Использование регулярного выражения для удаления знаков препинания из строки в Python

Python дает нам библиотеку регулярных выражений для управления всеми видами регулярных выражений , а также для управления ими и манипулирования ими. Если вы не знаете, что такое регулярное выражение, позвольте мне сказать вам: Регулярное выражение-это последовательность символов, которые задают шаблон поиска. Обычно эти паттерны используются алгоритмами поиска строк для операций "найти" или" найти и заменить" над строками или для входного сигнала. Это стратегия, разработанная в теоретической информатике и теории формального языка.

Примечание: Нам нужно импортировать библиотеку re для работы с регулярным выражением.

Регулярное выражение в python поставляется с функцией sub-strong, и мы будем использовать эту функцию. Чтобы удалить знаки препинания из строки в python.

Синтаксис re.sub

re.sub(pattern, replacement, original_string)
  • шаблон: знаки препинания(шаблон), которые мы хотим заменить.
  • замена: Строка замены шаблона (в основном пустая строка).
  • original_string: Исходная строка, из которой нам нужно удалить знаки препинания(шаблон).

Давайте посмотрим на работу на примере:

Пример удаления знаков препинания из строки в Python с помощью регулярного выражения

import re
__cf_email__" href="/cdn-cgi/l/email-protection">[email protected] P)(*y&tho.n"
.sub(r'[^\w\s]','',my_string)

print('String with Punctuation: ', my_string)
print('String without Punctuation: ', op_string)

Выход:

String with Punctuation:  Python P$#@!*oo()&l,. is ##th$e$ Bes.t pl*ace to [email protected] P)(*y&tho.n
String without Punctuation:  Python Pool is the Best place to Learn Python

Объяснение

В приведенном выше примере нам нужно импортировать библиотеку регулярных выражений, поскольку мы используем функцию, доступную в библиотеке регулярных выражений. Затем у нас есть входная строка с пунктуациями в ней. И мы сохранили его в переменной my_string. Впоследствии, с помощью функции re.sub, которую мы имеем, мы удалили все знаки препинания. Здесь, в параметрах 're.sub', вам может быть интересно, что такое r'[^\w\s]. Итак, в основном, r'[^\w\s] - это шаблон для выбора символов и чисел.

Я предпочитаю использовать регулярные выражения, хотя они просты в обслуживании, а также легче понять (если кто-то другой читает ваш код).

Используя метод translate() для удаления знаков препинания Из строки в Python

Метод string translate - это самый быстрый способ удалить знаки препинания из строки в python. Функция translate() доступна во встроенной библиотеке строк. Итак, нам нужно импортировать модуль string для использования функции translate .

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

Давайте посмотрим на работу на примере:

Пример Удаления Знаков Препинания Из Строки В Python С Помощью Функции Translate

import string
__cf_email__" href="/cdn-cgi/l/email-protection">[email protected]$an F)(&rom Python P$#@!*oo()&l,"
.translate(str.maketrans('', '', string.punctuation))

print('String with Punctuation: ', my_string)
print('String without Punctuation: ', op_string)

Выход:

String with Punctuation:  H*!i I a&m [email protected]$an F)(&rom Python P$#@!*oo()&l,
String without Punctuation:  Hi I am Karan From Python Pool

Объяснение

В приведенном выше примере сначала нам нужно импортировать библиотеку строк. Поскольку метод translate является частью строкового модуля в python. После этого мы инициализировали нашу строку, которая состоит из множества знаков препинания. Мы можем удалить все знаки препинания из этих значений с помощью метода translate() на следующем шаге. Как работает этот метод, он делает копию строки с определенным набором подставленных значений.

Чтобы сделать эту работу, мы будем использовать string.punctuation в качестве параметра в методе translate. Этот метод, являющийся частью библиотеки "string", дает нам список всех знаков препинания.

Использование метода join() для удаления знаков препинания из строки в Python

Мы также можем использовать метод join() для удаления знаков препинания из строки. Если вы не знаете о методе соединения, позвольте мне вкратце объяснить его вам. Метод join() дает гибкий подход к созданию строк из итерационных объектов. Он соединяет каждый компонент итерируемого объекта (например, список, строку и кортеж) с разделителем строк (вызывается строка в методе join ()) и возвращает объединенную строку.

Синтаксис метода join() таков:

string.join(iterable)

Метод join() принимает итерацию в качестве параметра. Давайте посмотрим на примере, как мы можем удалить знаки препинания из строки в python с помощью методаjoin ().

import string
__cf_email__" href="/cdn-cgi/l/email-protection">[email protected] P#@ytho&n P#o#o*~l"
(string.punctuation).join(ch for ch in st if ch not in exclude)
print(st)

Выход:

This  is a sample string from Python Pool

Объяснение:

В приведенном примере мы сначала начинаем импортировать модуль string. Этот модуль предоставляет несколько наборов символов в соответствии с вашими потребностями. В нашем случае мы потребовали все знаки препинания и создали набор этих знаков препинания. Затем мы использовали метод соединения, чтобы объединить все символы, исключив знаки препинания в одной строке.

Функция join может использоваться в качестве однострочного инициализатора для списков и строк. В данном случае мы использовали его для примера строки.

С Помощью Выражения Генератора

Последний, но не менее важный метод удаления пунктуации из строки в Python - это использование генератора. Генераторы-это простой способ создания итераторов. Он возвращает объект (итератор), который мы можем перебирать (по одному значению за раз).

def remove_punc_generator(string):
   '!()-[]{};:'"\,<>./[email protected]#$%^&*_~'''
    for ele in string:  
        if ele in punc:  
           .replace(ele, "") 
    yield string


(sample)

print(next(sample))

Выход:

This is a list For Pythonpool

Объяснение:

Существует несколько способов создания генератора. Два из них заключаются в использовании операторов yield и () понимания. В приведенном примере мы использовали yield для создания объекта генератора для нашей строки.

Во - первых, мы начинаем с создания функции, которая принимает строку, а затем выдает ее в конечном операторе. Оператор yield позволяет функции возвращать объект генератора, далее используя функцию next (). В последнем операторе нашего кода мы использовали следующий(образец), чтобы получить элемент из объекта генератора.

Удаление знаков препинания Из Списка в Python

Мы уже говорили о множестве методов удаления знаков препинания из строки в Python. Но строка-это не единственное, что есть в python. У нас тоже есть Списки. Список является одним из самых популярных встроенных типов данных. Таким образом, для нас стало обязательным говорить о таком популярном типе данных и о том, как удалить знаки препинания из списков в Python.

<Если вы, ребята, не знаете, что такое список, позвольте мне кратко объяснить вам это: Список-это самый гибкий тип данных, доступный в Python. Список может быть записан как список разделенных запятыми значений (элементов) в квадратных скобках. Важно то, что элементы в списке не обязательно должны быть одного типа.

Не теряя времени давайте сразу перейдем к примеру:

Пример удаления знаков препинания Из списка в Python

lis = ["[email protected]!is", "i#s" , "*&a", "list!", "For%", "#Pyt#$hon.?^pool"]

def remove_punc(string):
   '!()-[]{};:'"\, <>./[email protected]#$%^&*_~'''
    for ele in string:  
        if ele in punc:  
           .replace(ele, "") 
    return string

lis = [remove_punc(i) for i in lis]
print(lis) # cleaned list

Выход:

['This', 'is', 'a', 'list', 'For', 'Pythonpool']

Объяснение:

Списки-один из наиболее часто используемых типов данных в python. Существует несколько способов перебора href="https://en.wikipedia.org/wiki/List_(abstract_data_type)">список. В приведенном выше примере мы будем использовать понимание списка для циклического перебора всех элементов списка. href="https://en.wikipedia.org/wiki/List_(abstract_data_type)">список. В приведенном выше примере мы будем использовать понимание списка для циклического перебора всех элементов списка.

Во-первых, мы начинаем с создания настраиваемой функции, которая принимает строку в качестве параметра и удаляет все знаки препинания строки. Процесс удаления выполняется путем замены всех знаков препинания пустым символом в строке. Затем мы создаем примерный список, состоящий из нескольких строк, и используем метод понимания списка для применения remove_punch() к каждому элементу списка. Затем, наконец, для проверки списка используется функция print ().

Как удалить Знаки препинания Из файла в Python

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

Удаление знаков препинания Из файла в Python
Удаление знаков препинания Из файла в Python

Оригинальный Текстовый файл с пунктуацией

./[email protected]#$%^&*_~'''
    for ele in string:  
        if ele in punc:  
           .replace(ele, "") 
    return string


try:
    with) as f:
       .read()
    with) as f:
        f.write(remove_punc(data))
    print("Removed punctuations from the file", filename)
except FileNotFoundError:
    print("File not found")

Выход:

Удаление знаков препинания Из файла в выводе Python
Удаление знаков препинания Из файла в выводе Python

Очистите текстовый файл после удаления знаков препинания с помощью Python

Объяснение:

Чтение и запись файлов является неотъемлемой частью кода python, и каждый программист должен знать, как это сделать. Чтобы сделать то же самое, мы использовали метод open() для чтения и записи файлов.

Во-первых, мы объявляем пользовательскую входную переменную, которая просит пользователя ввести имя файла. Затем мы создали настраиваемую функцию для удаления всех строковых знаков препинания. Затем мы читаем файл с помощью оператора open (). Чтобы избежать ошибки "Файл не найден", мы использовали метод try-catch для информирования конечного пользователя о недопустимости имени файла. Затем мы используем remove_punch (), чтобы удалить все знаки препинания и переписать файл с помощью метода open ().

Возможно, Вам Также Будет Интересно Почитать:

  • Как Удалить Символ Из Строки Python
  • Python Удаляет Дубликаты Из Списка С Примерами

Приложение

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

Вывод

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

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!