Автор оригинала: Pankaj Kumar.
Иногда мы хотим удалить все вхождения персонажа из строки. Есть два распространенных способа достижения этого.
Python Удалить персонаж из строки
- Использование строки замены () функции
- Использование строки Translate () функции
Python Удалить символ из строки с помощью замены ()
Мы можем использовать функцию String Shree () для замены символа новым символом. Если мы предоставим пустую строку в качестве второго аргумента, то символ будет удален из строки.
Обратите внимание, что строка неизменяется в Python, поэтому эта функция вернет новую строку, а исходная строка останется без изменений.
s = 'abc12321cba' print(s.replace('a', ''))
Выход: BC12321CB.
Python Удалить символ из строки с помощью Translate ()
Функция Python String Translate () Замените каждый символ в строку с помощью данного таблицы перевода. Мы должны указать кодовую точку Unicode для символа и «Нет» в качестве замены, чтобы удалить его из строки результата. Мы можем использовать функцию ORD (), чтобы получить точку кода Unicode символа.
s = 'abc12321cba' print(s.translate({ord('a'): None}))
Выход: BC12321CB.
Если вы хотите заменить несколько символов, которые можно легко сделать с помощью итератора. Давайте посмотрим, как удалить символы «A», «B» и «C» из строки.
s = 'abc12321cba' print(s.translate({ord(i): None for i in 'abc'}))
Выход: 12321.
Удаление пробелов из строки
s = ' 1 2 3 4 ' print(s.replace(' ', '')) # 1234 print(s.translate({ord(i): None for i in ' '})) # 1234
Python удалить новую лину от строки
s = 'ab\ncd\nef' print(s.replace('\n', '')) print(s.translate({ord('\n'): None}))
Удалить подстроку из строки
Строка замените () аргументы функции – это строка. Давайте посмотрим, как удалить слово из строки.
s = 'ab12abc34ba' print(s.replace('ab', ''))
Выход: 12C34BA
Удалить указанное количество раз
Мы также можем передавать третий параметр в функции замены (), чтобы указать количество замены времени.
s = 'abababab' print(s.replace('a', 'A', 2))
Выход: Abababab.