Чтобы заменить строку в Python, вы можете использовать метод string.replace(). string.replace() — это встроенная функция для замены одной подстроки на другую.
Синтаксис
|
1 |
string.replace(old, new, count) |
Параметры
- old — это старая подстрока, которую вы хотите заменить.
- new — это новая подстрока, которая заменит старую подстроку.
- count — это количество раз, которое вы хотите заменить старой подстрокой на новую подстроку.
Возвращаемое значение
Функция replace() возвращает копию строки, в которой все вхождения подстроки заменены на новую.
Пример
Строка Python имеет встроенный класс для поддержки методов типа последовательности. Регулярные выражения см. в модуле re для строковых функций, основанных на регулярных выражениях.
Давайте создадим строку, чтобы заменить san на подстроку San.
|
1 2 3 4 5 6 7 |
string = "san francisco san diego san antonio san jose" # Subsitute san with San at all occurances print(string.replace("san", "San")) # Substitute san with San at first 2 occurances print(string.replace("san", "San", 2)) |
Выход
|
1 2 |
San francisco San diego San antonio San jose San francisco San diego san antonio san jose |
В первом примере функция replace() заменила san на San во всех местах строки.
Во втором примере san заменен на San в первых двух случаях.
Форматирование строк Python
Есть три варианта форматирования строки в Python.
- Python2 — это старый стиль, в котором оператор % заменяет строку.
- Используйте метод Python3 format().
- F-строки Python: позволяет указывать выражения внутри ваших строковых литералов.
Оператор % для замены строки
Средство форматирования %, которое принимает строки формата в стиле C-printf. См. приведенный ниже пример.
|
1 2 3 |
substitute = "Homer" print("Yello %s" % substitute) print("Yello %s %s" %(substitute, 'simpson')) |
Выход
|
1 2 |
Yello Homer Yello Homer simpson |
Функция Python format() для замены строки
Python string format() допускает множественные замены и форматирование значений. Метод format() объединяет элементы в строке посредством позиционного форматирования.
|
1 2 |
sub = "Homer" print("Yello {}".format(sub)) |
Выход
|
1 |
Yello Homer |
В этом примере метод format() заменяет подпеременную и форматирует строку.
F-строки в Python 3.6+
Чтобы создать f-строку, поставьте перед строкой букву «f».
F-строки обеспечивают краткий и удобный способ встраивания выражений Python в строковые литералы для форматирования.
|
1 2 3 |
sub1 = "Yello" sub2 = "Simpson" print(f"{sub1} Homer {sub2}") |
Выход
|
1 |
Yello Homer Simpson |
F-строки быстрее, чем два наиболее часто используемых механизма форматирования строк.
