Замена символа в строке в 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 на компьютер.
Хотите стать 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!»
Итоги
В строки в языке программирования Python нельзя внести изменения просто так — для этого нужно использовать специальные методы. В статье мы рассказали о самых простых и популярных из них — replace, translate и функции re.sub(). Выбор наиболее подходящего варианта зависит от задачи, которая стоит перед вами — замена нескольких символов, замена подстроки или ограничение количества замен для более точного результата. Перед использованием программы рекомендуем изучить политику конфиденциальности по ссылке.
В Excel можно легко создавать графики и диаграммы, которые помогают наглядно и понятно визуализировать информацию. В этой статье рассказываем, как быстро построить разные графики в Excel. Простейший график изменений Сначала откройте...
В камере хранения есть отсеки, которые наполняются содержимым. Мы складываем вещи в шкаф на полки или заливаем воду в формочки для льда. Всё это схоже с работой массивов в Java. В них содержится сразу несколько значений. Это удобно, ведь каждый раз...
Сводные таблицы — удобный инструмент для анализа большого количества вводных данных. Их часто используют для финансовой отчётности в компаниях, где много различной продукции. Так можно быстро узнать о количестве продаж одного наименования, посмотрет...
Фотостоки наполнены фотографиями различной тематики — пейзажи, портреты, спорт, красота и здоровье. На таких сайтах легко найти фото на любой вкус. Там можно не только покупать снимки, но и продавать их, получать неплохой пассивный доход. Загружать...
Китайский язык — является главным трендом лингвистики начиная с 2020 года. Он стал популярным благодаря активной международной политике, древнему происхождению и невероятной сложности. Согласитесь, обилие китайских иероглифов немного пугает, как и р...
Сегодня рассказываем, что такое глитч эффект, как создать эффект помех на фотографии с помощью Adobe Photoshop, и приводим пошаговый урок по обработке в фотошопе. Если вы хотите научиться создавать такой эффект или другие интересные эффекты...