Автор оригинала: Team Python Pool.
Как удалить знаки препинания из строки, списка и файла в Python
При выполнении некоторых проектов на Python нам нужно удалить знаки препинания, чтобы наш код выглядел чище. Итак, имея это в виду, Python Pool предлагает вам подробную статью об удалении знаков препинания из строки, списка и файла в Python.
Вся статья будет разделена на три части.В первой части мы рассмотрим устранение пунктуации из строки. После этого мы перейдем к Списку, а затем посмотрим, как удалить пунктуацию из файла в Python. Соответственно, не теряя времени, давайте сразу перейдем к учебнику.
Что такое Знак препинания?
Согласно Google: Любой из знаков (например, точка, запятая или вопросительный знак), используемый для разделения текста на предложения, предложения и т. Д., известен как знаки препинания. Вообще говоря, в английской грамматике перечислено 14 Знаков препинания: точка (точка), вопросительный знак, восклицательный знак, запятая, точка с запятой, двоеточие, тире, дефис, круглые скобки, скобки, апостроф, кавычки и многоточия. В этой статье мы увидим, как удалить эти знаки препинания из нашей программы с помощью Python.
Удаление знаков препинания из строки в Python
Переходя к первой части нашей статьи, мы обсудим все возможные способы удаления знаков препинания из строки в Python. В то же время копать и исследовать эту конкретную тему. Я узнал о 5 способах удаления знаков препинания из строки. Я постараюсь сделать все возможное, чтобы объяснить на примерах и шаг за шагом пошаговое руководство, чтобы получить четкую идею. Вы не будете заглядывать на другие сайты или видеоуроки после прочтения всего этого сочинения.
Способы удаления знаков препинания из строки в Python
5 способов удалить знаки препинания из строки в Python:
- Использование петель и знаков препинания строка
- Использование регулярного выражения
- С помощью метода translate()
- Использование метода join()
- С помощью Выражения генератора
Давайте начнем наше путешествие с приведенных выше пяти способов удаления знаков препинания из строки в 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
При выполнении некоторых проектов и некоторых математических задач возникает необходимость иметь чистый и понятный текстовый файл для работы. В которой нет знаков препинания. Таким образом, мы можем легко выполнять математические вычисления.
Оригинальный Текстовый файл с пунктуацией
./[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, и каждый программист должен знать, как это сделать. Чтобы сделать то же самое, мы использовали метод open() для чтения и записи файлов.
Во-первых, мы объявляем пользовательскую входную переменную, которая просит пользователя ввести имя файла. Затем мы создали настраиваемую функцию для удаления всех строковых знаков препинания. Затем мы читаем файл с помощью оператора open (). Чтобы избежать ошибки "Файл не найден", мы использовали метод try-catch для информирования конечного пользователя о недопустимости имени файла. Затем мы используем remove_punch (), чтобы удалить все знаки препинания и переписать файл с помощью метода open ().
Возможно, Вам Также Будет Интересно Почитать:
- Как Удалить Символ Из Строки Python
- Python Удаляет Дубликаты Из Списка С Примерами
Приложение
Это может иметь применение в предварительной обработке данных в области науки о данных, а также в повседневном программировании.
Вывод
Подводя итог, можно сказать, что в этом посте вы изучили различные методы удаления знаков препинания из строки, списка и файла в Python.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!