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 world4. Заміна символів у рядку
text = '123-456-789'
result = text.replace('-', ':')
print(result)
# Результат:
# 123:456:7895. Ланцюгові заміни
Метод 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: ***-***-***