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

Как удалить элемент из строки python

Как удалить символ из строки в Python

Иногда мы хотим удалить все вхождения символа из строки. Есть два распространенных способа добиться этого:

  1. Использование функции String replace().
  2. Использование функции string translate().

Как удалить символ из строки с помощью replace()?

Мы можем использовать строковую функцию replace() для замены символа новым символом. Если мы предоставим пустую строку в качестве второго аргумента, то символ будет удален из строки.

Обратите внимание, что строка неизменна в Python, поэтому эта функция вернет новую строку, а исходная строка останется неизменной.

С помощью translate()

Строковая функция translate() заменяет каждый символ в строке, используя заданную таблицу перевода. Мы должны указать кодовую точку Unicode для символа и «None» в качестве замены, чтобы удалить его из строки результата. Мы можем использовать функцию ord(), чтобы получить кодовую точку Unicode символа.

Если вы хотите заменить несколько символов, это легко сделать с помощью итератора. Давайте посмотрим, как удалить символы «a», «b» и «c» из строки.

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

Удаление новой строки

Как удалить слово из строки?

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

Как удалить указанное количество раз?

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

Убираем конкретные символы из строки

С поомщью str.replace мы можем менять какие-то символы на другие. Если мы просто хотим убрать какие-то символы, тогда просто заменяем их на пустую строку. str.replace() будет применять замену ко всем найденным совподениям.

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

С помощью ‘ re.sub

re. sub (pattern, repl, string, count=0, flags=0)

Возвращает строку, полученную путем замены крайних левых неперекрывающихся
совпадений с шаблоном в строке на значение repl. Если совпадения с шаблоном
не найдены, возвращается неизмененная строка
— Из документации Python’а

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

  • Заменяемый шаблон → “[ $ | @ | & ]”
  • [ ] используется для определения множества
  • $ | @ | & → будет искать $ или @ или &
  • Заменяем на пустую строку
  • Если вышеуказанные символы заменяются найдены, то они заменяются на пустую строку
  1. 1. Убираем конкретные символы из строки
    1. 1. Воспользуемся ' str.replace '
    2. 2. С помощью ' re.sub '
    1. 1. С помощью 'isalpha()'
    2. 2. С помощью 'filter()'
    3. 3. С помощью 're.sub()'
    1. 1. С помощью 'isalnum()'
    2. 2. С помощью 're.sub()'
    1. 1. С помощью 're.sub()'
    1. 1. С помощью 'isdecimal()'
    2. 2. С помощью 're.sub()'
    3. 3. С помощью 'filter()'

    Убрать все символы, кроме букв

    С помощью ‘isalpha()’

    isalpha() используется для того, чтобы проверять, состоит ли строка только из букв. Возвращает True если является буквой. Мы будем проходить по каждому символу строки и проверять является ли он буквой.

    Пример

    (c for c in s if c.isalpha())

    Перед нами объект генератор, содержащий все буквы из строки:
    s1=””.join(c for c in s if c.isalpha())

    ””.join будет соединять все символы в одну строку.

    С помощью ‘filter()’

    f = filter(str.isalpha, s)

    Функция filter() будет применять str.isalpha метод для каждого элемента строки, и если получаем истину , то мы возвращаем элемент. В противном случае — пропускаем.

    Функция filter() вернет итератор, содержащий все буквы переданной строки, а join() будем «склеиват» все элементы друг с другом.

    С помощью ‘re.sub()’

    Рассмотрим s1 = re.sub(“[^A-Za-z]”, ””, s)

    • “[ A-Za-z]”* → Ищет все символы, кроме букв. Если в начале множества указать * , тогда к шаблону будут подходить все те символы, которые НЕ указаны в множестве. (для русских слов используйте [^А-Яа-я] — прим. ред.)
    • Все символы, удовлетворяющие шаблону будут заменены на пустую строку.
    • Все символы, кроме букв, будут убраны.

    Убрать все символы, кроме букв и чисел

    С помощью ‘isalnum()’

    isalnum() используется, когда мы хотим определить состоит строка только из чисел или букв.

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

    С помощью ‘re.sub()’

    • “[^A-Za-z0–9]” → Этот шаблон будет искать все символы, кроме букв и цифр.
    • Все найденные символы будут заменены на пустую строку
    • Все символы, кроме букв и цифры убраны.

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

    С помощью ‘re.sub()’

    • [0-9] — цифры от 0 до 9
    • re.sub(“[0–9]”, ””, s) — если есть совпадения, заменяем на пустую строку

    Убираем все символы из строки кроме цифр

    С помощью ‘isdecimal()’

    isdecimal() возвращает истину, если все символы строки являются цифрами, в противном случае возвращается ложь.

    Пороходим по каждому символу строки и проверяем и является ли он цифрой. «».join() соединяет все элементы.

    С помощью ‘re.sub()’

    Рассмотрим s1 = re.sub(“[^0–9]”, ””, s)

    • [^0-9] будет искать все символы кроме от 0 до 9
    • re.sub(“[^0–9]”, ””, s) все символы кроме цифр будут заменены на пустую строку.

    С помощью ‘filter()’

    Рассмотрим f = filter(str.isdecimal, s)

    Функция filter() будет выполнять str.isdecimal метод для каждого символа, если он возвращает истину, то добовляет его в генератор. Затем генератор распаковывается в готовую строку с помощью метода join() .

    Примечание

    Строки в Python являются неизменяемыми объектами, поэтому все вышеуказаные методы убирает символы из данной строки и возвращает новую, они не меняют состояние оригинальной строки.

    Основы работы со строками в Python

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

    Что такое строка в Python?

    Строка Python – это набор символов, заключенных в одинарные, двойные или тройные кавычки. Компьютер не понимает персонажей; внутри он хранит манипулируемый символ как комбинацию нулей и единиц.

    Каждый символ кодируется символом ASCII или Unicode. Таким образом, мы можем сказать, что строки Python также называются набором символов Unicode.

    В Python строки можно создавать, заключая символ или последовательность символов в кавычки. Python позволяет нам использовать одинарные кавычки, двойные кавычки или тройные кавычки для создания строки.

    Рассмотрим следующий пример на Python для создания строки.

    Проверим тип переменной str с помощью скрипта

    В Python строки рассматриваются как последовательность символов, что означает, что Python не поддерживает символьный тип данных; вместо этого одиночный символ, записанный как ‘p’, рассматривается как строка длины 1.

    Создание строки в Python

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

    Индексирование и разбивка строк

    Как и в других языках, индексирование строк Python начинается с 0. Например, строка «HELLO» индексируется, как показано на рисунке ниже.

    Индексирование строк Python

    Рассмотрим следующий пример:

    Как показано в Python, оператор slice [] используется для доступа к отдельным символам строки. Однако мы можем использовать оператор:(двоеточие) в Python для доступа к подстроке из данной строки. Рассмотрим следующий пример.

    Доступ к подстроке

    Здесь мы должны заметить, что верхний диапазон, указанный в операторе среза, всегда является исключающим, т.е. если задано str = ‘HELLO’, тогда str [1: 3] всегда будет включать str [1] = ‘E’, str [2 ] = ‘L’ и ничего больше.

    Рассмотрим следующий пример:

    Мы можем сделать отрицательную нарезку строки; она начинается с крайнего правого символа, который обозначается как -1. Второй крайний правый индекс указывает -2 и так далее. Рассмотрим следующее изображение.

    Отрицательная нарезка строки

    Рассмотрим следующий пример:

    Переназначение строк

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

    Рассмотрим следующий пример.

    Однако в примере 1 строку str можно полностью присвоить новому содержимому, это указано в следующем примере.

    Удаление строки

    Как мы знаем, строки неизменяемы. Мы не можем удалить символы из строки. Но мы можем удалить всю строку с помощью ключевого слова del.

    Теперь мы удаляем всю строку.

    Строковые операторы

    Оператор Описание
    + Он известен как оператор конкатенации, используемый для соединения строк по обе стороны от оператора.
    * Известен как оператор повторения. Он объединяет несколько копий одной и той же строки.
    [] оператор среза. Он используется для доступа к подстрокам определенной строки.
    [:] оператор среза диапазона, используется для доступа к символам из указанного диапазона.
    in Оператор членства. Он возвращается, если в указанной строке присутствует определенная подстрока.
    not in Также является оператором членства и выполняет функцию, обратную in. Он возвращает истину, если в указанной строке отсутствует конкретная подстрока.
    r / R Используется для указания необработанной строки. Необработанные строки применяются в тех случаях, когда нам нужно вывести фактическое значение escape-символов, таких как «C: // python». Чтобы определить любую строку как необработанную, за символом r или R следует строка.
    % Необходим для форматирования строк. Применяет спецификаторы формата, используемые в программировании на C, такие как %d или %f, для сопоставления их значений в python. Мы еще обсудим, как выполняется форматирование в Python.

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

    Форматирование строки Python

    Управляющая последовательность

    Предположим, нам нужно написать текст – They said, “Hello what’s going on?” – данный оператор может быть записан в одинарные или двойные кавычки, но он вызовет ошибку SyntaxError, поскольку он содержит как одинарные, так и двойные кавычки.

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

    Мы можем использовать тройные кавычки для решения этой проблемы, но Python предоставляет escape-последовательность.

    Символ обратной косой черты(/) обозначает escape-последовательность. За обратной косой чертой может следовать специальный символ, который интерпретируется по-разному. Одиночные кавычки внутри строки должны быть экранированы. Мы можем применить то же самое, что и в двойных кавычках.

    Список escape-последовательностей приведен ниже:

    Вот простой пример escape-последовательности.

    Мы можем игнорировать escape-последовательность из данной строки, используя необработанную строку. Мы можем сделать это, написав r или R перед строкой. Рассмотрим следующий пример.

    Метод format()

    Метод format() – самый гибкий и полезный метод форматирования строк. Фигурные скобки <> используются в качестве заполнителя в строке и заменяются аргументом метода format(). Посмотрим на данный пример:

    Форматирование строки Python с использованием оператора %

    Python позволяет нам использовать спецификаторы формата, используемые в инструкции printf языка C. Спецификаторы формата в Python обрабатываются так же, как и в C. Однако Python предоставляет дополнительный оператор%, который используется в качестве интерфейса между спецификаторами формата и их значениями. Другими словами, мы можем сказать, что он связывает спецификаторы формата со значениями.

    Рассмотрим следующий пример.

    Строковые функции Python

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

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

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