Python中提供的 replace() 函数的作用是用一个新字符或字符串替换字符串中某个字符串中的原有的字符或子串。Python中 replace() 函数有两种使用形式,一种是简单替换,即使用新字符串替换原字符串中全部与之匹配的子串;另外一种是在替换中指定替换的次数。
str. replace(old, new [, count])
str 是要执行替换的字符串或字符串变量,各参数的含义如下:
该函数执行完毕后,将生成替换后的字符串。
1、简单使用
str1 = "小华喜欢小刚,小刚喜欢小花,小花喜欢小华"
old_str = "喜欢"
new_str = "打了"
res = str1.replace( old_str, new_str)
print(str1)
print(res)
输出结果:
小华喜欢小刚,小刚喜欢小花,小花喜欢小华
小华打了小刚,小刚打了小花,小花打了小华
上面这个例子就是把 str1 中所有的“喜欢”这个字符串被替换成了“打了”。同时,也应注意到,replace() 函数执行完后是生成一个字符串的副本,并没有影响原字符串的内容。
2、指定 count 参数
str1 = "Python is simple,Python is easy to learn,Python means everything"
res = str1.replace("Python", "Java", 2)
print(res)
输出结果:
Java is simple, Java is easy to learn, Python means everything
从结果可以看出,因为指定了 count 参数,这里只对str1中前 2 个找到的字符串"Python"进行了替换,而第 3 个没有被替换。
3、大小写敏感
在Python中,基本所有函数对字符串的处理都是大小写敏感的,replace() 函数也不例外。看下面的例子:
str1 = "Python is simple, python is complex, Python is open."
res = str1.replace( "python", "Java")
print(res)
输出结果:
Python is simple, Java is complex, Python is open.
从这里可以看出,该函数执行后,原来的"python is complex" 变成了 "Java is complex",而处于其他两个位置的"Python"没有被替换,这是因为只有第2个位置的 "python" 在大小形式上完全相同。
4、原字符串中没有指定的子串
如果原字符串中没有指定的旧字符串,则原样输出。
str1 = "武林网VEVB"
res = str1.replace("Python", "Java")
print(res)
输出结果:
武林网VEVB
新闻热点
疑难解答