Введение
Эта статья описывает два распространенных метода, которые можно использовать для удаления символов из строки с помощью Python:
- метод
replace()
строки - метод
translate()
строки
Чтобы узнать несколько различных способов удаления пробелов из строки в Python, обратитесь к Удаление пробелов из строки в Python.
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
Примеры в этом учебнике используют интерактивную консоль Python в командной строке для демонстрации различных методов удаления символов.
Развертывайте ваши приложения Python из GitHub с помощью Платформы приложений DigitalOcean. Позвольте DigitalOcean масштабировать ваше приложение.
Удаление символов из строки с помощью метода replace()
Метод replace() заменяет символ на новый символ. Вы можете удалить символ из строки, указав символ(ы) для замены в качестве первого аргумента и пустую строку в качестве второго аргумента.
Объявите переменную строки:
- s = 'abc12321cba'
Замените символ пустой строкой:
- print(s.replace('a', ''))
Вывод:
Outputbc12321cb
Вывод показывает, что оба вхождения символа a
были удалены из строки.
Удаление символов новой строки из строки с использованием метода replace()
Объявите переменную строки с некоторыми символами новой строки:
- s = 'ab\ncd\nef'
Замените символ новой строки пустой строкой:
- print(s.replace('\n', ''))
Вывод:
Outputabcdef
Вывод показывает, что оба символа новой строки (\n
) были удалены из строки.
Удаление подстроки из строки с использованием метода replace()
Метод replace()
принимает строки в качестве аргументов, поэтому вы также можете заменить слово в строке.
Объявите переменную строки:
- s = 'Helloabc'
Замените слово пустой строкой:
- print(s.replace('Hello', ''))
Результат:
Outputabc
Результат показывает, что строка Hello
была удалена из входной строки.
Удаление символов определенное количество раз с использованием метода replace()
Вы можете передать третий аргумент в метод replace()
, чтобы указать количество замен, выполняемых в строке перед остановкой. Например, если вы укажете 2
в качестве третьего аргумента, то будут заменены только первые 2 вхождения заданных символов.
Объявите переменную строки:
- s = 'abababab'
Замените первые два вхождения символа новым символом:
- print(s.replace('a', 'A', 2)) # выполнить замену дважды
Результат:
OutputAbAbabab
Результат показывает, что первые два вхождения символа a
были заменены символом A
. Поскольку замена была сделана только дважды, остальные вхождения a
остаются в строке.
Удаление символов из строки с использованием метода translate()
Метод строки Python translate()
заменяет каждый символ в строке с использованием заданной таблицы или словаря.
Объявите переменную строки:
- s = 'abc12321cba'
Получите кодовую точку Юникода символа и замените её на None
:
- print(s.translate({ord('b'): None}))
Результат:
Outputac12321ca
Результат показывает, что обе вхождения символа b
были удалены из строки, как определено в пользовательском словаре.
Удаление нескольких символов из строки с использованием метода translate()
Вы можете заменить несколько символов в строке с использованием метода translate()
. В следующем примере используется пользовательский словарь, {ord(i): None for i in 'abc'}
, который заменяет все вхождения a
, b
и c
в данной строке на None
.
Объявите строковую переменную:
- s = 'abc12321cba'
Замените все символы abc
на None
:
- print(s.translate({ord(i): None for i in 'abc'}))
Вывод:
Output12321
Вывод показывает, что из строки были удалены все вхождения a
, b
и c
, как определено в пользовательском словаре.
Удаление символов новой строки из строки с использованием метода translate()
Вы можете заменить символы новой строки в строке с использованием метода translate()
. В следующем примере используется пользовательский словарь {ord('\n'): None}
, который заменяет все вхождения \n
в данной строке на None
.
Объявите переменную строки:
- s = 'ab\ncd\nef'
Замените все символы \n
на None
:
- print(s.translate({ord('\n'): None}))
Вывод:
Outputabcdef
Вывод показывает, что все вхождения символа новой строки \n
были удалены из строки, как определено в пользовательском словаре.
Заключение
В этом руководстве вы узнали о некоторых методах, которые можно использовать для удаления символов из строк в Python. Продолжайте изучать строки Python.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string