Введение
В этой статье описываются два распространенных метода удаления символов из строки с помощью Python:
- Метод
Замена строки() - Метод
Перевод строки()
Чтобы узнать о нескольких различных способах удаления пробелов из строки в Python, ознакомьтесь со статьей Удаление пробелов из строки в Python.
Строковый объект Python неизменяем, поэтому вы не можете изменить его значение. Любой метод, работающий со строковым значением, возвращает новый строковый объект.
В примерах в этом руководстве используется интерактивная консоль Python в командной строке для демонстрации различных способов удаления символов.
Удаление символов из строки с помощью метода replace()
Метод String() заменяет символ новым. Вы можете удалить символ из строки, указав его(и) в качестве первого аргумента и пустую строку в качестве второго аргумента.
Объявите строковую переменную:
s = 'abc12321cba'Замените символ пустой строкой:
print(s.replace('a', ''))Вывод такой:
Output
bc12321cbВыходные данные показывают, что оба вхождения символа a были удалены из строки.
Удаление символов новой строки из строки с помощью метода replace()
Объявите строковую переменную с несколькими символами новой строки:
s = 'ab\ncd\nef' code... */Замените символ новой строки пустой строкой:
print(s.replace('\n', ''))Вывод такой:
Output
abcdefВывод показывает, что оба символа новой строки (\n) были удалены из строки.
Удалить подстроку из строки с помощью метода replace()
Метод replace() принимает строки в качестве аргументов, поэтому вы можете заменить слово в строке.
Объявите строковую переменную:
s = 'Helloabc'Заменить слово пустой строкой:
print(s.replace('Hello', ''))Вывод такой:
Выходные данные показывают, что строка Hello была удалена из входной строки.
Удалить символы указанное количество раз с помощью метода replace()
Вы можете передать методу replace() третий аргумент, чтобы указать количество замен, которые необходимо выполнить в строке перед остановкой. Например, если указать 2 в качестве третьего аргумента, то будут заменены только первые 2 вхождения заданных символов.
Объявите строковую переменную:
s = 'abababab'Замените первые два символа новым символом:
print(s.replace('a', 'A', 2)) # perform replacement twiceВывод такой:
Output
AbAbababВыходные данные показывают, что первые два вхождения символа a были заменены символом A. Поскольку замена была выполнена только дважды, остальные вхождения одного остаются в строке.
Удалить символы из строки с помощью метода translate()
Метод Python string translate() заменяет каждый символ в строке, используя заданную таблицу сопоставления или словарь.
Объявите строковую переменную:
s = 'abc12321cba'Получите значение кодовой точки Unicode символа и замените его на None:
print(s.translate({ord('b'): None}))Вывод такой:
Output
ac12321caВыходные данные показывают, что оба вхождения символа 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'}))Вывод такой:
Output
12321Выходные данные показывают, что все вхождения a, b и c были удалены из строки, как определено в пользовательском словаре.
Удалить символы новой строки из строки с помощью метода translate()
Вы можете заменить символы новой строки в строке с помощью метода translate(). В следующем примере используется пользовательский словарь {ord('\n'): None}, который заменяет все вхождения \n в заданной строке на None.
Объявите строковую переменную:
s = 'ab\ncd\nef'Заменить все символы \n на None:
print(s.translate({ord('\n'): None}))Вывод такой:
Output
abcdefВыходные данные показывают, что все вхождения символа новой строки \n были удалены из строки, как определено в пользовательском словаре.
Результат
В этом уроке вы изучили методы удаления символов из строк в Python. Продолжайте изучать строки в Python.









