Замена строки Python

В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace() .

.replace () Метод

В Python строки представлены как неизменяемые объекты str . Класс str имеет множество методов, позволяющих управлять строками.

Метод .replace() имеет следующий синтаксис:

str.replace(old, new[, maxreplace])

  • str — строка, с которой вы работаете.
  • old — Подстрока, которую нужно заменить.
  • new — подстрока, заменяющая старую подстроку.
  • maxreplace — необязательный аргумент. Количество совпадений старой подстроки, которую вы хотите заменить. Матчи отсчитываются с начала строки.

Метод возвращает копию строки srt с некоторыми или всеми совпадениями подстроки old замененной на new . Если maxreplace не указан, заменяются все вхождения.

В приведенном ниже примере мы заменяем подстроку far в строке s с miles :

s = 'A long time ago in a galaxy far, far away.'s.replace('far', 'miles')

Результатом является новая строка:

'A long time ago in a galaxy miles, miles away.'

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

Если maxreplace необязательный аргумент maxreplace , он ограничивает количество заменяемых совпадений. В следующем примере мы заменяем только первое вхождение:

s = 'My ally is the Force, and a powerful ally it is.'s.replace('ally', 'friend', 1)

Строка результата будет выглядеть так:

'My friend is the Force, and a powerful ally it is.'

Чтобы удалить подстроку, используйте вместо нее пустую строку '' . Например, чтобы удалить space из следующей строки, вы должны использовать:

s = 'That’s no moon. It’s a space station.'s.replace('space ', '')

Новая строка будет выглядеть следующим образом:

`That’s no moon. It’s a station.'

Заменить подстроку в списке строк

Чтобы заменить подстроку в списке строк, используйте конструкцию понимания списка, как показано ниже:

s.replace('old', 'new') for s in list

Давайте посмотрим на следующий пример:

names = ['Anna Grace', 'Betty Grace', 'Emma Grace']new_names = [s.replace('Grace', 'Lee') for s in names]print(new_names)

Приведенный выше код создает копию списка, в котором все вхождения подстроки Grace заменены на Lee :

['Anna Lee', 'Betty Lee', 'Emma Lee']

Выводы

Замена подстроки в строке — одна из самых основных операций при написании кода на Python. После прочтения этого руководства вы должны хорошо понимать, как использовать метод replace() .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-11-25T00:58:18
Python