Замена символа в строке в Python — replace и другие методы
Строка в Питоне относится в неизменяемому типу данных — после создания не получится что-то поменять в ней. Поэтому замена нескольких символов в Python относится к одним из самых популярных операций при работе с текстовыми данными. В статье мы расскажем о методе String replace — как работает функция, что нужно сделать, что заменить один символ на другой. Раскроем особенности и других способов для замены символа в строке в Python, используя примеры.
Для тех, кто хочет углубить свои знания в Python, мы рекомендуем специализированные онлайн-курсы от Eduson Academy и ProductStar. Они помогут вам освоить не только основы работы со строками, но и множество других важных аспектов программирования на Python.
Строками в Python называют упорядоченную последовательность символов. Их используют для хранения и представления информации. С помощью строк можно описать то, что представлено в текстовой форме. Их также можно складывать между собой и извлекать последовательность цифр или букв из заданного промежутка. Но вот редактировать данные не получится. Существуют определённые методы изменения данных, которые быстро помогают заменить первый или последний символ в строке, если это необходимо. Используя их, также можно поменять и другие символы.
Метод replace() в Python
Функция или метод replace() в Python используется для замены всех вхождений подстроки или строки полностью. Он возвращает новую строку, заменяя указанные символы обновлёнными значениями. String replace обладает таким синтаксисом:
str.replace(old, new[, count])
Подробнее:
- String: строка, в которой нужно поменять символ или изменить подстроку.
- Old: символ или подстрока, требующая подмены.
- New: новая строка, на которую надо заменить найденную выше подстроку или символы.
- Count (необязательный аргумент): то количество замен, которые необходимо выполнить. Без указания аргумента все вхождения будут заменены.
Новичкам в веб-разработке рекомендуем бесплатный курс «Веб-разработчик: с нуля до первого проекта». Вы узнаете, как устроена frontend-разработка, создадите свой первый сайт и выложите его на GitHub, как разработчик.
Пример применения метода replace() для замены символа в строке:
# Начальная строка
text = «Hello, world!»
# Замена символа «,» на «!»
my_str = text.replace(«,», «!»)
print(my_str)
# Вывод: «Hello! world!»
Этот параметр также можно использовать для изменения слов в строке:
g = ‘Python is my favorite programming language. I love Python!’
new_g = g.replace(‘Python’, ‘PHP’)
print(new_g)
# ‘PHP is my favorite programming language. I love PHP!’
Вы можете проверить replace на умение заменять сразу несколько букв и чисел одновременно. Спойлер — он с этим справится. В примере мы заменяем все вхождения a, b и c на символ y:
g = ‘abcabc’
new_g = g.replace(‘a’, ‘y’).replace(‘b’, ‘y’).replace(‘c’, ‘y’)
print(new_g) # ‘yyyyyy’
Доступно и изменение только первого или только последнего символа или слова. Сделать это довольно просто:
g = ‘Python is my favorite programming language. I love Python!’
new_g = g.replace(‘Python’, ‘PHP’, 1)
print(new_g)
# ‘PHP is my favorite programming language. I love Python!’
Поиск и замена нескольких значений:
names = [‘Anna’, ‘Emma’, ‘Oleg’, ‘Dmitriy’]
# в новый список записываем элементы начального списка, измененные благодаря replace
new_list = [_.replace(«A», «i», ) for names]
print(new_list)
# Вывод: [InnI’, ‘Emmi’, ‘Oleg’, ‘Dmitriy’]
Функцию replace используют чаще других — менять символы в строках можно разными способами, а также выставлять ограничения для количества замен в коде. Но есть и другие методы, которые тоже подойдут для осуществления этой операции в Питоне — о них расскажем ниже.
В нашем блоге есть полезные статьи для Python-разработчиков, которые находятся в процессе обучения или совершенствуют свои навыки по созданию программ — например, материал о функциях append() и extend() для добавления элементов в список, или статья про установку Python на компьютер.
![Девушка программирует за столом](https://blog.tutortop.ru/wp-content/uploads/2023/07/python-simvoly.jpg)
Хотите стать Python-разработчиком, но не знаете, с чего начать? Онлайн-курсы программирования — всегда хороший вариант для старта. Лучшие курсы с сайта tutortop:
- «Python-разработчик» от Хекслет
- «Python-разработчик с нуля» от Нетологии
Метод translate() для замены символа в Питоне
Вы можете выполнять замены, используя таблицу перевода символов. В этом плане translate полезен для изменения нескольких букв или цифр или исполнения более сложных и составных операций с использованием различных правил.
Синтаксис:
string.translate(table[, deletechars])
Подробнее:
- String: это исходная строка, где надо поменять символы
- Table: это таблица перевода текстовых данных — это может быть словарь или объекта вроде str.maketrans, созданный с использованием метода str.maketrans().
- Deletechars (необязательный аргумент): строка с символами, которые необходимо убрать из исходной строки.
Как translate помогает заменить символы в строке:
# Строка
text = «Hello, world!»
# Создание таблицы перевода символов
translation_table = str.maketrans(«,», «!»)
# Замена символа «,» на «!» с использованием таблицы перевода
new_text = text.translate(translation_table)
print(new_text)
# Вывод: «Hello! world!»
В этом примере таблица перевода создана с помощью метода str.maketrans() — указана символ «,» как символ для изменения и символ «!». Этот метод позволяет выполнить замену именно в исходной строке. Есть ещё метод maketrans(), который создаёт таблицу сопоставления между первым символом и заменой для него.
Описанные методы схожи по функционалу, но всё же отличаются друг от друга. Например, translate() может изменить лишь одиночные символы в строке, а replace() позволяет заменять целые строки различной длины. Также он может поменять нескольких букв за один вызов, replace() заменяет только одну подстроку за раз. Нельзя точно сказать, какой из этих вариантов лучше — для каждой из задач подходит свой метод. Но если вам нужно заменить несколько цифр или букв, лучше использовать translate(). Возможности replace() широки, в тому же функция выигрывает в оптимизации времени.
Если ваша цель — стать программистом, наша подборка топовых курсов поможет вам достичь успеха и реализовать свои профессиональные амбиции в этой области:
- Инженер по тестированию — Eduson Academy
- Автоматизация тестирования на Python — QA.GURU
- Веб-разработчик с нуля — Нетология
Регулярные выражения для замены символов в строке
Ещё один вариант — регулярные выражения или Regular Expressions. Этот инструмент по работе с текстовыми данными пользуется широкой популярностью и также применяется для перемены символов. Чтобы поменять символ или подстроку можно воспользоваться функцией re.sub() из модуля re.
Синтаксис:
re.sub(шаблон, замена, строка)
Подробнее:
- Шаблон: регулярное выражение, указывающее на символы, подстроки, которые необходимо найти в строке для изменения.
- Замена: строка, на которую будут заменены найденные символы или подстроки.
- Строка: стартовый вариант в котором меняются символы.
Пример:
import re
# Строка
text = «Hello, world!»
# Замена символа «,» на «!» — регулярное выражение
new_text = re.sub(r»,», «!», text)
print(new_text)
# Вывод: «Hello! world!»
![Человек на стуле пишет код](https://blog.tutortop.ru/wp-content/uploads/2023/07/python-zamena-simvolov.jpg)
Итоги
В строки в языке программирования Python нельзя внести изменения просто так — для этого нужно использовать специальные методы. В статье мы рассказали о самых простых и популярных из них — replace, translate и функции re.sub(). Выбор наиболее подходящего варианта зависит от задачи, которая стоит перед вами — замена нескольких символов, замена подстроки или ограничение количества замен для более точного результата. Перед использованием программы рекомендуем изучить политику конфиденциальности по ссылке.
Ошибка 400 (Bad Request) возникает, когда сервер не может или не будет обрабатывать запрос из-за проблем с клиентской стороной. Это может произойти, если запрос содержит неверные данные или формат, который сервер не может распознать. Ошибка 400 указ...
В Excel можно легко создавать графики и диаграммы, которые помогают наглядно и понятно визуализировать информацию. В этой статье рассказываем, как быстро построить разные графики в Excel. Простейший график изменений Сначала откройте...
В камере хранения есть отсеки, которые наполняются содержимым. Мы складываем вещи в шкаф на полки или заливаем воду в формочки для льда. Всё это схоже с работой массивов в Java. В них содержится сразу несколько значений. Это удобно, ведь каждый раз...
Сводные таблицы — удобный инструмент для анализа большого количества вводных данных. Их часто используют для финансовой отчётности в компаниях, где много различной продукции. Так можно быстро узнать о количестве продаж одного наименования, посмотрет...
Фотостоки наполнены фотографиями различной тематики — пейзажи, портреты, спорт, красота и здоровье. На таких сайтах легко найти фото на любой вкус. Там можно не только покупать снимки, но и продавать их, получать неплохой пассивный доход. Загружать...
Китайский язык — является главным трендом лингвистики начиная с 2020 года. Он стал популярным благодаря активной международной политике, древнему происхождению и невероятной сложности. Согласитесь, обилие китайских иероглифов немного пугает, как и р...