Удалить специальные символы из строки Python

Python Программирование и разработка

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

Строки являются наиболее часто используемым типом данных в Python, и когда они используются в полной мере, они вызывают множество проблем. Наиболее типичными из них являются новая escape-последовательность табуляции, добавляемая в конец строки, или специальные символы вместо знаков ударения. Эти ошибки чрезвычайно распространены при взаимодействии с файлами. Независимо от того, что привело к нарушению форматирования, мы должны иметь возможность удалить эти символы из строки. Python имеет различные встроенные функции для разных целей. В Python строки неизменяемы. Это означает, что мы не сможем изменить его содержимое. Однако мы можем создать новую строку, содержащую всего несколько символов из старой. Затем исходная переменная может быть присвоена обновленной строке. Это будет выглядеть так, как будто строка была изменена, а ненужные символы удалены.

Пример 1

Первый пример включает использование Python isalnum. Строковый метод Python.isalnum() возвращает True, если в указанной строке присутствуют буквенно-цифровые символы. Он возвращает False, если это не буквенно-цифровой символ. Это можно использовать для добавления только буквенно-цифровых символов к вновь созданной строке путем циклического перебора строки. Рассмотрим следующий пример. В приведенном ниже коде вы можете видеть, что мы создали две строки, одна из которых включает нашу старую строку, а другая пуста. Используя метод.isalnum(), мы перебираем каждый символ в нашей строке и определяем, является ли он буквенно-цифровым. Если это так, мы добавим символ к нашей строке. Мы ничего не делаем, если это не так.

mytxt = ‘python — is. easy!’

res_txt = »

for character in mytxt:

if character.isalnum():

res_txt += character

print(res_txt)

Вот вывод, и вы можете видеть, что все специальные символы успешно удалены.

Вот вывод, и вы можете видеть, что все специальные

Пример 2

Теперь мы удалим специальные символы из строки, используя регулярные выражения. Регулярное выражение — это набор символов с определенным синтаксисом, который можно использовать для сопоставления или поиска других строк или наборов строк. Модуль re в Python полностью поддерживает регулярные выражения в стиле Perl. Когда при построении регулярного выражения возникает ошибка, модуль re генерирует исключение re.error. Модуль регулярных выражений в Python, re, содержит несколько полезных методов работы со строками.

Метод sub() позволяет нам добавлять строки с альтернативными строками, что является одной из этих стратегий. Нам не нужно указывать символ, который мы хотим заменить, когда мы используем библиотеку re, что является одним из преимуществ. В результате мы можем указать диапазоны символов замены (или сохранить). Чтобы сохранить все буквенные символы и пробелы, мы можем указать методу.sub() заменить все, кроме [a-zA-Z0-9]. Взгляните на то, что мы сделали в коде: для нашей строки была создана переменная. Мы использовали метод re.sub() для создания нашего заменителя. Функция принимает три аргумента: (1) шаблон для замены (мы использовали для обозначения того, что мы не хотим ничего заменять), (2) символы для замены и (3) строка для замены.

import re

mytxt = ‘python — is. easy!’

res_txt = re.sub(r«[^a-zA-Z0-9 ]», «», mytxt)

print(res_txt)

Проверьте вывод приведенного выше кода.

Проверьте вывод приведенного выше

Пример 3

Метод Python filter() может удалять специальные символы из строки, как это делает цикл for. Метод filter() принимает два параметра для правильного выполнения программы. Вам понадобится итерация и функция для оценки фильтрации. Поскольку строки повторяемы, мы можем передать метод для удаления специальных символов. Подобно методу цикла for, метод.isalnum() можно использовать для проверки того, является ли подстрока буквенно-цифровой или нет. Давайте посмотрим, как это работает в Python. Объект фильтра, содержащий только буквенно-цифровые символы, был создан с помощью функции фильтра в приведенном ниже коде. Затем наши символы связываются с пустыми символами с помощью техники str.join.

import re

mytxt = ‘python — is. easy!’

res_txt = ».join(filter(str.isalnum, mytxt))

print(res_txt)

Здесь вы можете видеть, что специальные символы удалены.

Здесь вы можете видеть, что специальные символы

Вывод

В этом посте вы узнали, как удалить специальные символы из строки Python. Это было достигнуто с помощью метода isalphanum(), библиотеки регулярных выражений re и метода filter(). Мы также упомянули примеры успешного достижения этой цели. Работа с текстовыми данными становится все более актуальной; таким образом, научиться делать это является ценным навыком.

Читайте также:  Как использовать WordPress в качестве Headless CMS для Eleventy
Оцените статью
bestprogrammer.ru
Добавить комментарий