replace() – це метод класу str у Python, який використовується для заміни підрядків у рядку. Оскільки рядки в Python є незмінними (immutable), метод повертає новий рядок з виконаними замінами, не змінюючи оригінальний.

Синтаксис

str.replace(old, new, count)

  • old – підрядок, який потрібно замінити.
  • new – новий підрядок, на який буде замінено old.
  • count (необов’язково) – кількість замін. Якщо не вказати, замінюються всі входження.

Приклади використання

1. Заміна всіх входжень

text = 'I like apples. Apples are tasty.'

result = text.replace('apples', 'oranges')
print(result)

# Результат:
# I like oranges. Apples are tasty.

Зверніть увагу, що replace() чутливий до регістру: apples та Apples – це різні рядки.

2. Заміна з параметром count

text = 'one one one'

result = text.replace('one', 'two', 2)
print(result)

# Результат:
# two two one

Замінено лише перші два входження.

3. Видалення символів

Якщо передати порожній рядок у параметр new, можна видаляти символи або слова:

text = 'hello world!'

result = text.replace('!', '')
print(result)

# Результат:
# hello world

4. Заміна символів у рядку

text = '123-456-789'

result = text.replace('-', ':')
print(result)

# Результат:
# 123:456:789

5. Ланцюгові заміни

Метод replace() можна викликати кілька разів підряд:

text = 'banana'

result = text.replace('a', 'o').replace('b', 'p')
print(result)

# Результат:
# ponono

Корисні поради

Метод replace() працює лише з рядками. Якщо потрібно замінити символи у списку або іншій колекції – використовуйте list comprehension або цикл for:

chars = ['a', 'b', 'a']

result = ['x' if c == 'a' else c for c in chars]
print(result)  # ['x', 'b', 'x']

Якщо потрібно виконати заміни за більш складними правилами (наприклад, за регулярними виразами), використовуйте re.sub() з модуля re:

import re

text = 'ID: 123-456-789'

result = re.sub(r'\d', '*', text)
print(result)  # ID: ***-***-***


Мітки: