Замена строки Python
В этой статье мы поговорим о том, как заменить подстроку внутри строки в Python, используя метод replace() .
.replace () Метод
В Python строки представлены как неизменяемые объекты str . Класс str имеет множество методов, позволяющих управлять строками.
Метод .replace() имеет следующий синтаксис:
- str — строка, с которой вы работаете.
- old — Подстрока, которую нужно заменить.
- new — подстрока, заменяющая старую подстроку.
- maxreplace — необязательный аргумент. Количество совпадений старой подстроки, которую вы хотите заменить. Матчи отсчитываются с начала строки.
Метод возвращает копию строки srt с некоторыми или всеми совпадениями подстроки old замененной на new . Если maxreplace не указан, заменяются все вхождения.
В приведенном ниже примере мы заменяем подстроку far в строке s с miles :
Результатом является новая строка:
Если maxreplace необязательный аргумент maxreplace , он ограничивает количество заменяемых совпадений. В следующем примере мы заменяем только первое вхождение:
Строка результата будет выглядеть так:
Чтобы удалить подстроку, используйте вместо нее пустую строку '' . Например, чтобы удалить space из следующей строки, вы должны использовать:
Новая строка будет выглядеть следующим образом:
Заменить подстроку в списке строк
Чтобы заменить подстроку в списке строк, используйте конструкцию понимания списка, как показано ниже:
Давайте посмотрим на следующий пример:
Приведенный выше код создает копию списка, в котором все вхождения подстроки Grace заменены на Lee :
Выводы
Замена подстроки в строке — одна из самых основных операций при написании кода на Python. После прочтения этого руководства вы должны хорошо понимать, как использовать метод replace() .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Изменение строки в Python – метод replace
Строки — это важный тип данных, который есть почти в любом языке программирования. Он служит для создания, изменения и сохранения текстовой информации, а также используется при реализации некоторых задач, связанных с числами.
Python даёт программисту много инструментов для работы со строками, в том числе и метод replace() .
Что делает метод
Слово replace имеет дословный перевод «заменять», так что название метода точно описывает его назначение. С помощью replace можно заменить часть строки или её всю на другую строку.
Синтаксис метода выглядит так:
В качестве аргументов в метод передаются:
- old_str – часть исходной строки, которую необходимо заменить.
- new_str – строка, на которую заменяют исходную строку ( old_str ).
- count – определяет количество вхождений подстроки, которые необходимо заменить.
В качестве str используется исходная строка (тип данных string).
Таким образом, метод replace позволяет гибко изменять только необходимые части строки str , работа метода продемонстрирована в следующих примерах:
Это не очевидно, с помощью метода replace можно заменить сразу несколько значений, например все элементы списка:
Применение replace для замены нескольких значений
С помощью словаря
Предыдущий пример позволяет заменить несколько элементов, однако все они имеют одно и то же значение «кот». Если необходимо заменить несколько разных значений, например «кот» на «кошка» и «кошка» на «собака», то необходимо реализовать чуть более сложную программу с использованием словарей:
Здесь replace используется в функции, аргументы которой исходная строка и словарь со значениями для замены.
У этого варианта программы есть один существенный недостаток, программист не может быть уверен в том, какой результат он получит. Дело в том, что словари — это последовательности без определенного порядка, поэтому рассматриваемый пример программы может привести к двум разным результатам в зависимости от того, как интерпретатор расположит элементы словаря:
- У меня есть собака и собака
- У меня есть кошка и собака
Для решения этой проблемы можно заменить обычный словарь на упорядоченный словарь OrderedDict , который нужно импортировать следующей командой:
Помимо импорта в программе нужно поменять буквально одну строку:
Изменить её надо на:
В этом случае, результат будет «У меня есть собака и собака», если же поменять местами элементы упорядоченного словаря при инициализации следующим образом: OrderedDict([(«кошка», «собака»), («кот», «кошка»)]) , то результат будет «У меня есть кошка и собака».
Вариант со списками
Замену нескольких значений можно реализовать и по-другому, для этого используем списки:
В данном примере цикл for делает 2 итерации:
- Подставляет в метод replace значения из первого списка: replace(«кот», «кошка»), в результате чего получается строка «У меня есть кошка и кошка».
- Подставляет в метод replace значения из второго списка: replace(«кошка», «собака»), получается строка «У меня есть собака и собака».
Другие типы Python и метод replace
Метод replace есть не только у строк, с его помощью программист может изменять последовательности байт, время и дату.
Синтаксис метода для последовательности байт ничем не отличается от синтаксиса для строк, для дат и времени в аргументах метода replace нужно писать идентификатор изменяемой цели, например:
Replace Python
Основы
Введение в тему
В этом уроке мы рассмотрим как заменить подстроку внутри строки, используя метод replace().
Метод replace Python возвращает копию строки, в которой все вхождения искомой подстроки заменяются другой подстрокой.
Что делает метод
Слово replace переводится как «заменять», что название этого метода является отличным описанием того, что он делает. С помощью метода replace можно заменить часть строки, называемую подстрокой или её всю на другую строку. Метод replace позволяет гибко изменять только необходимые части строки str.
Синтаксис
Метод .replace() имеет следующий синтаксис:
Параметры
В качестве аргументов в метод передаются:
str — Строка, к которой применяется метод (тип данных string).
old — Подстрока, которую необходимо найти и заменить (тип данных string).
new — Новая подстрока, которой будет заменена старая (тип данных string).
count— Необязательный аргумент. Количество совпадений старой подстроки, которую необходимо заменить (тип данных int). Если этот параметр не указать, то будут заменены все вхождения подстрок на новые.
Вот несколько примеров применения метода:
Возвращаемое значение
Метод возвращает копию строки, в которой старая подстрока заменяется новой подстрокой. Строка, к которой применяется метод остаётся неизменной. Если искомая подстрока не обнаружена, то возвращается копия исходной строки.
Применение replace для замены нескольких значений
С помощью данного метода возможно выполнить поиск и замену нескольких значений, например элементов коллекции:
С помощью словаря
Предыдущий пример позволяет заменить несколько элементов, однако все они имеют одно и то же значение «i». Если необходимо заменить несколько разных значений, например «i» на «I» и «a» на «A», то необходимо реализовать чуть более сложную программу с использованием словарей:
Здесь replace используется в функции, аргументы которой исходная строка и словарь со значениями для замены.
У этого варианта программы есть один существенный недостаток, программист не может быть уверен в том, какой результат он получит. Дело в том, что словари — это последовательности без определенного порядка, поэтому рассматриваемый пример программы может привести к двум разным результатам в зависимости от того, как интерпретатор расположит элементы словаря:
В Python версии 3.6 и более поздних порядок перебора ключей будет такой же, как и при котором они созданы. В более ранних версиях Python порядок может отличаться.
Для решения этой проблемы можно заменить обычный словарь на упорядоченный словарь OrderedDict, который нужно импортировать следующей командой: