User Tools

Site Tools


удаление_символов_из_строки_в_python

Удаление символов из строки в Python

В этой статье описаны два распространенных метода, которые можно использовать для удаления символов из строки с помощью Python:

  • Строковый метод replace()
  • Строковый метод translate()

Объект Python String является неизменяемым, поэтому мы не можем изменить его значение. Любой метод, который работает со строковым значением, возвращает новый строковый объект.
Примеры в этом руководстве, используют интерактивную консоль Python, для демонстрации различных методов удаления символов.

Удаление символов из строки с помощью метода replace()

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

Объявим строковую переменную:

s = 'abc12321cba'

Заменим символ пустой строкой:

print(s.replace('a', ''))
 
bc12321cb

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

Удаление символов новой строки с помощью метода replace()

Объявите строковую переменную с некоторыми символами новой строки:

s = 'ab\ncd\nef'

И замените символ новой строки – пустой строкой:

print(s.replace('\n', ''))
 
abcdef

Здесь мы видим, что оба символа новой строки \n были удалены.

Удаление подстроки с помощью метода replace()

Метод replace(), может принимать строки в качестве аргументов. Поэтому, мы также можем заменить слово в строке.

Объявим строковую переменную:

s = 'Helloabc'

Замените слово пустой строкой:

print(s.replace('Hello', ''))
 
abc

Вывод показывает, что строка Hello была удалена из входящей строки.

Удаление символов указанное количество методом replace()

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

Объявим строковую переменную:

s = 'abababab'

Заменим первые два вхождения, новым символом:

print(s.replace('a', 'A', 2)) # perform replacement twice
 
AbAbabab

Вывод показывает, что первые два вхождения символа a были заменены символом A. Поскольку замена была произведена только дважды, остальные вхождения символа a остались в строке неизменными.

Удаление символов из строки с помощью метода translate()

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

Объявим строковую переменную:

s = 'abc12321cba'

Получим значение кодовой точки Unicode для символа b и заменим его на None:

print(s.translate({ord('b'): None}))
 
ac12321ca

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

Удаление нескольких символов из строки методом 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'}))
 
12321

Удаление символов новой строки методом translate()

В следующем примере используется пользовательский словарь {ord('\n'): None}, который заменяет все вхождения \n в заданной строке на None.

Объявим строковую переменную:

s = 'ab\ncd\nef'

Замените все символы \n на None:

print(s.translate({ord('\n'): None}))
 
abcdef
удаление_символов_из_строки_в_python.txt · Last modified: 2023/04/06 10:28 (external edit)