Методы замены (replace, strip)

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

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

Основные темы урока:
1. Метод .replace(): Позволяет заменять части строки на другие значения. Мы разберем как простую замену, так и ограничение количества замен (count).
2. Методы очистки (.strip(), .lstrip(), .rstrip()): Эти методы незаменимы при обработке пользовательского ввода или чтении файлов. Они удаляют пробелы и указанные символы с краев строки.

Обратите внимание: строки в Python — это неизменяемые объекты. Методы возвращают новую строку, а не меняют исходную "на месте". Это частая ошибка новичков, которой посвящен отдельный блок заданий.

Список тем

1. Базовая замена символов

id: 39996_task_str_1

Проанализируйте код. Метод replace ищет все вхождения первого аргумента и заменяет их на второй аргумент. Что будет выведено на экран?

Выберите правильный вариант ответа
phone = "8-100-555-35-35"
formatted = phone.replace("-", " ")
print(formatted)
Сообщения
Проверить
Показать подсказку

2. Исправление опечаток

id: 39996_task_str_2

В тексте допущена ошибка: слово "Python" написано с маленькой буквы. Используйте метод replace, чтобы исправить это во всей строке.

Заполните пропуски
text = "I learn python. python is great!"
# Замените 'python' на 'Python'
correct_text = text.input1S(input2S, input3S)
print(correct_text)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Ограничение количества замен

id: 39996_task_str_3

Метод replace принимает необязательный третий аргумент — count (количество замен). Напишите точный вывод данного кода.

Что должно получиться?
sequence = "1 0 1 0 1 0"
# Заменяем '1' на 'X', но только 2 раза
result = sequence.replace("1", "X", 2)
print(result)
Сообщения
Проверить
Показать подсказку

4. Семейство методов strip

id: 39996_task_str_4

В Python есть три метода для удаления пробелов (и других символов) с краев строки. Сопоставьте метод с его действием.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
Удаляет пробелы только в начале строки (слева)
Удаляет пробелы только в конце строки (справа)
Удаляет пробелы с обеих сторон строки
.rstrip()
.lstrip()
.strip()
Сообщения
Проверить
Показать подсказку

5. Ловушка неизменяемости строк

id: 39996_task_str_5

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

Найдите ошибку и исправьте
user_name = "  admin  "
user_name.strip()
print(f"User: '{user_name}'")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Strip с аргументами

id: 39996_task_str_6

Метод strip("...") удаляет не саму подстроку, а любые из указанных символов с краев, пока не встретит символ, которого нет в списке. Что выведет код?

Выберите правильный вариант ответа
url = "www.yandex.ru/"
# Удаляем 'w', '.' и '/' с краев
clean_url = url.strip("w./")
print(clean_url)
Сообщения
Проверить
Показать подсказку

7. Очистка данных о цене

id: 39996_task_str_7

Мы получили грязные данные о цене: " $1,299.00 \n". Нам нужно превратить это в число 1299.0. Расставьте методы в правильном порядке.

Нужно правильно расставить в пропуски предложенные варианты
raw_price = "  $1,299.00 \n"

clean_price = float(
    raw_price
    .input1S()            # Удаляем пробелы
    .input2S("$", "")     # Удаляем знак валюты
    .input3S(",", "")     # Удаляем разделитель тысяч
)

print(clean_price)
strip
replace
replace
split
remove
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

8. Создание "slug" из заголовка

id: 39996_task_str_8

Соберите код, который преобразует заголовок статьи в URL-совместимый формат (slug).
Пример: из " Hello World! " должно получиться "hello-world".
Порядок действий: очистить края -> привести к нижнему регистру -> заменить пробелы на дефисы -> удалить восклицательный знак.

Перетяните в правильном порядке строки из одного блока в другой
print(slug)
slug = title.strip()
title = "  Hello World! "
    .replace(" ", "-")
    .lower()
    .replace("!", "")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Python: запуск кода в браузере

id: 39996_compiler
🐍
Запустить тренажёр (Python)
НайтиКурс.Ру