string.replace() устарел на python 3.x. Каков новый способ сделать это?
Как использовать string.replace() в python 3.x
Ответ 1
Как и в 2.x, используйте str.replace()
.
Пример:
>>> 'Hello world'.replace('world', 'Guido')
'Hello Guido'
Также обратите внимание, что точка связывается сильнее, чем конкатенация строк, т.е. используйте круглые скобки: ('Hello' + 'world'). Replace ('world', 'Guido')
Ответ 2
replace()
- это метод <class 'str'>
в python3:
>>> 'hello, world'.replace(',', ':')
'hello: world'
Ответ 3
Метод replace() в python 3 используется просто:
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
Ответ 4
Попробуйте следующее:
mystring = "This Is A String"
print(mystring.replace("String","Text"))
Ответ 5
FYI, когда добавляет некоторые символы к произвольному фиксированному положению слову внутри строки (например, изменяя прилагательное на наречие, добавив суффикс -ly), вы можете поместить суффикс в конец строки для удобочитаемости. Для этого используйте split()
внутри replace()
:
s="The dog is large small"
ss=s.replace(s.split()[3],s.split()[3]+'ly')
ss
'The dog is largely small'
Ответ 6
Вы можете использовать str.replace() как цепочку str.replace(). Представьте, что у вас есть строка типа 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
и вы хотите заменить все 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
'#',':',';','/'
на '-'
. Вы можете заменить его так (нормальный способ),
>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'
>>> str = str.replace('#', '-')
>>> str = str.replace(':', '-')
>>> str = str.replace(';', '-')
>>> str = str.replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'
или так (цепочка str.replace())
>>> str = 'Testing PRI/Sec (#434242332;PP:432:133423846,335)'.replace('#', '-').replace(':', '-').replace(';', '-').replace('/', '-')
>>> str
'Testing PRI-Sec (-434242332-PP-432-133423846,335)'
Ответ 7
ss = s.replace(s.split()[1], +s.split()[1] + 'gy')
# should have no plus after the comma --i.e.,
ss = s.replace(s.split()[1], s.split()[1] + 'gy')