Python replace всю строку

How to use string.replace() in python 3.x

FWIW, I had the same confusion. Google «python string replace» took me to old deprecated string functions in python 2.7. IMHO, that section could use a big bold box explaining «string.xxx()» vs «xxx(string)», and directing people to the non-deprecated string methods, e.g. to docs.python.org/library/stdtypes.html#string-methods

Python documentation is an absolute shambles considering it is touted as an ideal first language. Quite often the stuff is there, but because of the poor way its organized, its often not indexed well by search engines or even their own site. Look at ToolMakerSteve’s link, core string functions are lumpted in to standard types. This does not come up when you search for string functions.

Sometimes people write «str.replace» when they mean [your string variable].replace. Because ‘str’ is also the name of the relevant class, this can be confusing.

9 Answers 9

>>> 'Hello world'.replace('world', 'Guido') 'Hello Guido' 

The «re» (regular expression) module has alternatives for (some? all?) deprecated string functions. In this case, re.sub() .

FWIW, Whenever I google, I seem to end up at the old deprecated string functions. Here is the link to the (not deprecated) string methods. docs.python.org/3.3/library/stdtypes.html#string-methods ~or_for_2~ docs.python.org/2/library/stdtypes.html#string-methods

If I have to come to stack overflow to navigate the Python documentation there is a clearly problem. Python team if you are reading. SORT IT OUT!

Читайте также:  Php обрезать строку от символа до конца

replace() is a method of in python3:

>>> 'hello, world'.replace(',', ':') 'hello: world' 

The replace() method in python 3 is used simply by:

a = "This is the island of istanbul" print (a.replace("is" , "was" , 3)) #3 is the maximum replacement that can be done in the string# >>> Thwas was the wasland of istanbul # Last substring 'is' in istanbul is not replaced by was because maximum of 3 has already been reached 

You can use str.replace() as a chain of str.replace(). Think you have a string like ‘Testing PRI/Sec (#434242332;PP:432:133423846,335)’ and you want to replace all the ‘#’,’:’,’;’,’/’ sign with ‘-‘ . You can replace it either this way(normal way),

>>> string = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)' >>> string = string.replace('#', '-') >>> string = string.replace(':', '-') >>> string = string.replace(';', '-') >>> string = string.replace('/', '-') >>> string 'Testing PRI-Sec (-434242332-PP-432-133423846,335)' 
>>> string = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'.replace('#', '-').replace(':', '-').replace(';', '-').replace('/', '-') >>> string 'Testing PRI-Sec (-434242332-PP-432-133423846,335)' 

Источник

Replace Python

Основы

Введение в тему

В этом уроке мы рассмотрим как заменить подстроку внутри строки, используя метод replace().

Метод replace Python возвращает копию строки, в которой все вхождения искомой подстроки заменяются другой подстрокой.

Что делает метод

Слово replace переводится как «заменять», что название этого метода является отличным описанием того, что он делает. С помощью метода replace можно заменить часть строки, называемую подстрокой или её всю на другую строку. Метод replace позволяет гибко изменять только необходимые части строки str.

Синтаксис

Метод .replace() имеет следующий синтаксис:

Параметры

В качестве аргументов в метод передаются:

str — Строка, к которой применяется метод (тип данных string).

old — Подстрока, которую необходимо найти и заменить (тип данных string).

new — Новая подстрока, которой будет заменена старая (тип данных string).

count— Необязательный аргумент. Количество совпадений старой подстроки, которую необходимо заменить (тип данных int). Если этот параметр не указать, то будут заменены все вхождения подстрок на новые.

Вот несколько примеров применения метода:

my_var = "Ivan, Rinat, Olga, Kira" #Заменяем все подстроки "Olga" в строке a = my_var.replace("Olga", "Olya") print(a) #Заменяем первую подстроку "i" в строке b = my_var.replace("i", "I", 1) print(b) #Заменяем первые две подстроки "a" в строке c = my_var.replace("a", "A", 2) print(c) # Вывод: Ivan, Rinat, Olya, Kira Ivan, RInat, Olga, Kira IvAn, RinAt, Olga, Kira

Возвращаемое значение

Метод возвращает копию строки, в которой старая подстрока заменяется новой подстрокой. Строка, к которой применяется метод остаётся неизменной. Если искомая подстрока не обнаружена, то возвращается копия исходной строки.

my_var = "Ivan, Rinat, Olga, Kira" #Заменяем все вхождения "Olga" в строке a = my_var.replace("Roman", "Roma") print(a) # Вывод: Ivan, Rinat, Olga, Kira

Применение replace для замены нескольких значений

С помощью данного метода возможно выполнить поиск и замену нескольких значений, например элементов коллекции:

my_var = ['Ivan', 'Rinat', 'Olga', 'Kira'] # в новый список записываем элементы начального списка, измененные # с помощью replace new_list = [_.replace("i", "A", 1) for _ in my_var] print(new_list) # Вывод: ['Ivan', 'RAnat', 'Olga', 'KAra']

С помощью словаря

Предыдущий пример позволяет заменить несколько элементов, однако все они имеют одно и то же значение «i». Если необходимо заменить несколько разных значений, например «i» на «I» и «a» на «A», то необходимо реализовать чуть более сложную программу с использованием словарей:

# Функция для замены нескольких значений def multiple_replace(target_str, replace_values): # получаем заменяемое: подставляемое из словаря в цикле for i, j in replace_values.items(): # меняем все target_str на подставляемое target_str = target_str.replace(i, j) return target_str # создаем словарь со значениями и строку, которую будет изменять replace_values = my_str = "Ivan, Rinat, Olga, Kira" # изменяем и печатаем строку my_str = multiple_replace(my_str, replace_values) print(my_str) # Вывод: IvAn, RInAt, OlgA, KIrA

Здесь replace используется в функции, аргументы которой исходная строка и словарь со значениями для замены.

У этого варианта программы есть один существенный недостаток, программист не может быть уверен в том, какой результат он получит. Дело в том, что словари — это последовательности без определенного порядка, поэтому рассматриваемый пример программы может привести к двум разным результатам в зависимости от того, как интерпретатор расположит элементы словаря:

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

Для решения этой проблемы можно заменить обычный словарь на упорядоченный словарь OrderedDict, который нужно импортировать следующей командой:

Источник

Метод replace() в Python

Метод replace() возвращает копию строки, в которой все вхождения подстроки заменяются другой подстрокой.

Параметры

Метод в Python может принимать максимум 3 параметра:

  • old ‒ старая подстрока, которую нужно заменить;
  • new ‒ новая подстрока, которая заменит старую подстроку;
  • count (необязательно) ‒ сколько раз вы хотите заменить старую подстроку новой.

Примечание: Если число не указано, метод заменяет все вхождения старой подстроки новой.

Возвращаемое значение

Команда возвращает копию строки, в которой старая подстрока заменяется новой подстрокой. Исходная строка не изменилась.

Если старая подстрока не найдена, возвращается копия исходной строки.

Пример 1: Использование команды

song = 'cold, cold heart' # replacing 'cold' with 'hurt' print(song.replace('cold', 'hurt')) song = 'Let it be, let it be, let it be, let it be' # replacing only two occurences of 'let' print(song.replace('let', "don't let", 2))
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be

Дополнительные примеры

song = 'cold, cold heart' replaced_song = song.replace('o', 'e') # The original string is unchanged print('Original string:', song) print('Replaced string:', replaced_song) song = 'let it be, let it be, let it be' # maximum of 0 substring is replaced # returns copy of the original string print(song.replace('let', 'so', 0))
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be

Источник

Оцените статью