web-dev-qa-db-fra.com

Comment utiliser string.replace () dans python 3.x

String.replace () est obsolète sur python 3.x. Quelle est la nouvelle façon de faire cela?

234
Dewsworld

Comme dans 2.x, utilisez str.replace() .

Exemple:

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

Notez également que le point se lie plus fort que la concanténation de chaîne, i. e. utilisez des parenthèses: ('Hello' + 'world'). replace ('world', 'Guido')

266

replace() est une méthode de <class 'str'> en python3:

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

La méthode replace () dans python 3 est utilisée simplement par:

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
9
user7876385

Essaye ça:

mystring = "This Is A String"
print(mystring.replace("String","Text"))
2
Ed Dabbah

Pour votre information, quand ajoutant quelques caractères à un mot arbitraire, à position fixe dans la chaîne (par exemple, changer un adjectif en adverbe en ajoutant le suffixe - ly ), vous pouvez mettre le suffixe à la fin de la ligne pour plus de lisibilité. Pour ce faire, utilisez split() dans replace():

s="The dog is large small"
ss=s.replace(s.split()[3],s.split()[3]+'ly')
ss
'The dog is largely small'
1
Ooker

Vous pouvez utiliser str.replace () en tant que chaîne de str.replace (). Pensez que vous avez une chaîne du type 'Testing PRI/Sec (#434242332;PP:432:133423846,335)' et que vous souhaitez remplacer tout le signe '#',':',';','/' par '-'. Vous pouvez le remplacer soit de cette façon (manière normale),

>>> 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)'

ou de cette façon (chaîne de str.replace () )

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