Как удалить определенный символ из строки в Python

В этом руководстве по Python мы обсудим как удалить определенный символ из строки в Python. Кроме того, в Python есть встроенные функции, позволяющие удалять из строки все специальные символы, поэтому мы подробно обсудим каждую из функций.
Специальные символы в Python
В Python к специальным символам относятся символы, не являющиеся буквенно-цифровыми, такие как ‘@’, ‘#’, ‘%’, ‘*’, ‘(‘, ‘)’ и т. д.
Удалить специальные символы из строки в Python
Мы рассмотрим различные методы удаления специальных символов из строки в Python с примерами.
Способ 1: Использование replace()
функция на питоне
replace()
Метод — это встроенная в Python функция, которая заменяет указанную фразу другой указанной фразой. Вот как вы можете использовать его для удаления специального символа.
Пример# Возьмем строку, представляющую популярную американскую еду.
string = "Cheese@Burger#"
string = string.replace("@", "")
string = string.replace("#", "")
print(string)
Выход:

Недостатком этого подхода является то, что вам нужно знать все специальные символы, которые существуют в строке Python. Кроме того, если строка Python содержит много различных специальных символов, код может стать довольно длинным.
Способ 2: использование регулярных выражений Python
Регулярные выражения, также известные как регулярные выражения, представляют собой последовательности символов, формирующие шаблон поиска. питона re
Модуль обеспечивает поддержку регулярных выражений. Чтобы удалить специальные символы, мы можем использовать Python re.sub()
функция.
Пример# Используем название известной американской достопримечательности.
import re
string = "Statue@of#Liberty"
string = re.sub('[^A-Za-z0-9]+', '', string)
print(string)
В приведенном выше коде [^A-Za-z0-9]
это шаблон, который соответствует любому символу, который не является буквой или цифрой. Затем, Питон re.sub()
заменяет все такие символы пустой строкой.
Выход:

Способ 3: использование Python translate()
и maketrans()
функции
Строковый класс Python предоставляет метод, называемый translate()
который можно использовать с maketrans()
функция для замены или удаления всех указанных символов из строки.
Пример # Давайте использовать фразу, которая является синонимом Соединенных Штатов.
string = "Land@of#the#Free"
string = string.translate(string.maketrans("", "", "@#"))
print(string)
Питон maketrans()
функция возвращает таблицу перевода, которую можно использовать с translate()
способ замены указанных символов.
Выход:

Метод 4: использование понимания списка в Python
В Python понимание списка — это компактный способ создания списка из одной или нескольких итераций. Он может иметь необязательное условие для фильтрации элементов. Вот как использовать его для удаления специальных символов.
Пример# Давайте используем строку, представляющую город США и его популярный псевдоним.
string = "Chicago@-#The#Windy#City"
string = ''.join(e for e in string if e.isalnum())
print(string)
Питон isalnum()
Метод проверяет, все ли символы в строке являются буквенно-цифровыми (буквами или цифрами). Если true, символ включается в новую строку. В противном случае он опускается.
Выход:

Заключение
В Python есть много способов удалить специальные символы из строки. Лучший метод для использования зависит от ваших конкретных потребностей.
replace()
метод в Python удобен для удаления нескольких известных символов. Регулярные выражения предлагают мощные и гибкие решения для работы с шаблонами.
translate()
и maketrans()
методы полезны для обработки большего набора символов, а понимание списков Python обеспечивает краткий способ фильтрации символов.
Кроме того, взгляните на еще несколько руководств по Python.

Я Биджай Кумар, Microsoft MVP в SharePoint. Помимо SharePoint, последние 5 лет я начал работать над Python, машинным обучением и искусственным интеллектом. За это время я приобрел опыт работы с различными библиотеками Python, такими как Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn и т. д. для различных клиентов в США, Канаде, Великобритании, Австралии, Новая Зеландия и т. д. Проверьте мой профиль.
Ссылка на источник