Python replace方法把字符串中的old(旧字符串) 替换成new(新字符串),如果指定第三个参数max,则设置替换次数不超过 max 次。
(old, new[, max])
示例1
在该示例中,出现的两个单词Hello都被替换为Hi。
# 原字符
msg = "Hello world! Hello Python!"
# 替换字符,字符串直接调用replace方法
msg2 = msg.replace('Hello', 'Hi')
print(msg2)
Hi world! Hi Python!
示例2
可以直接方法。它将我们进行替换的字符串作为第一个参数。结果和示例1一样。
msg = "Hello world! Hello Python!"
msg2 = str.replace(msg, 'Hello', 'Hi')
print(msg2)
Hi world! Hi Python!
示例3
我们可以用换行符替换每个逗号,并设置替换次数
data = "1,2,3,4,5"
# 替换次数为3次
data2 = data.replace(',', '\n', 3)
print(data2)
1
2
3
4,5
示例4
在该示例中,我们替换最后一次出现的单词Hello。需要结合Python rfind()方法。rfind()方法是指返回字符串最后一次出现的位置。rfind()使用介绍见python3-string-rfind[1]。
msg = "Hello world! Hello Python!"
# Python rfind()返回字符串最后一次出现的位置
idx = msg.rfind("Hello")
print(idx)
# 提取前一部分字符不替换,取后一部分字符进行替换
# 这里用到了字符串切片的方式
msg2 = msg[:idx] + str.replace( msg[idx:] , "Hello", "Hi")
print(msg2)
13
Hello world! Hi Python!
示例5
我们可以将replace方法链接起来进行多次替换。
msg = "Hello world! Hello Python!"
msg2 = msg.replace('Hello', 'Hi').replace('!','.')
print(msg2)
Hi world. Hi Python.