string.replace()在python 3.x上已弃用。新的方法是什么?
当前回答
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')
其他回答
试试这个:
mystring = "This Is A String"
print(mystring.replace("String","Text"))
如2。X,使用str.replace()。
例子:
>>> 'Hello world'.replace('world', 'Guido')
'Hello Guido'
Python 3的str.replace的官方文档
Python 3的str.replace
Str.replace (old, new[, count]) 返回字符串的副本,所有出现的子字符串old都替换为new。如果给出了可选参数count,则只替换第一次出现的计数。
对应的VSCode的语法注意如下:
str.replace(self: str, old, new, count) -> str.replace(self: str, old, new, count
两种方法使用str.replace
方法1:使用内置str的replace -> str.replace(strVariable, old, new[, count])
replacedStr1 = str.replace(originStr, "from", "to")
方法二:使用str变量的replace -> strVariable。替换(old, new[, count])
replacedStr2 = originStr.replace("from", "to")
完整的演示
代码:
originStr = "Hello world"
# Use case 1: use builtin str's replace -> str.replace(strVariable, old, new[, count])
replacedStr1 = str.replace(originStr, "world", "Crifan Li")
print("case 1: %s -> %s" % (originStr, replacedStr1))
# Use case 2: use str variable's replace -> strVariable.replace(old, new[, count])
replacedStr2 = originStr.replace("world", "Crifan Li")
print("case 2: %s -> %s" % (originStr, replacedStr2))
输出:
case 1: Hello world -> Hello Crifan Li
case 2: Hello world -> Hello Crifan Li
截图:
My related (Chinese) post: str.replace String in Python 3
简单替换:. Replace (old, new, count)。
text = "Apples taste Good."
print(text.replace('Apples', 'Bananas')) # use .replace() on a variable
Bananas taste Good. <---- Output
print("Have a Bad Day!".replace("Bad","Good")) # Use .replace() on a string
Have a Good Day! <----- Output
print("Mom is happy!".replace("Mom","Dad").replace("happy","angry")) #Use many times
Dad is angry! <----- Output
python 3中的replace()方法被简单地用于:
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