Как удалить символы из строки в Python
Введение
В этой статье описываются два распространенных метода, которые можно использовать для удаления символов из строки с помощью Python:
- метод
String replace()
- метод
String translate()
Чтобы узнать о различных способах удаления пробелов из строки в Python, обратитесь к разделу Удаление пробелов из строки в Python.
Объект Python String неизменяем, поэтому вы не можете изменить его значение. Любой метод, который манипулирует строковым значением, возвращает новый объект String.
В примерах в этом руководстве используется интерактивная консоль Python в командной строке для демонстрации различных методов удаления символов.
Удаление символов из строки с помощью метода replace()
Метод String 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)) # perform replacement twice
Результат:
OutputAbAbabab
Вывод показывает, что первые два вхождения символа a
были заменены символом A
. Поскольку замена была произведена только дважды, остальные вхождения a
остаются в строке.
Удаление символов из строки с помощью метода translate()
Строковый метод Python translate()
заменяет каждый символ в строке, используя заданную таблицу сопоставления или словарь.
Объявите строковую переменную:
- s = 'abc12321cba'
Получите значение кодовой точки Unicode символа и замените его на 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.