注册 登录
编程论坛 Python论坛

请教个问题,有关python的replace()的字符替换问题

邹阳 发布于 2017-04-25 11:49, 2338 次点击
  本人初学python,在学到<string>.replace()操作时遇到了个问题。我们知道replace()函数中有三个参数,从左到右依次是:待替换字符,被替换字符,被替换次数。
replace()中的被替换数有什么作用呢?起初我理解为该函数是不能修改字符串的,但是可以设置字符串被修改的次数,那么就需要设置第三个参数了。但经过尝试后发现,并非如此。
replace()函数只对字符串修改一次,那么,第三个参数该如何使用呢?第三个参数在实际操作中的需求又是什么呢?
  本人才疏学浅,请各位指教。
1 回复
#2
sunb32017-04-27 14:25
你说的是str.replace(old,new[,count])吧?……

你理解错这个函数的实际意义了:
原文:
str.replace(old, new[, count])
Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced.


replace函数返回一个字串,这个字串中所有包含old的字串都改为new的字串,如果设置了count,则只替换count次。

示例:
程序代码:

a = "10,68,cc,cf,ff,ae,be,ff,ac,ff,c3,a0"
b = a.replace("ff","00")
c = a.replace("ff","00",2)

print(b)
print(c)


结果为:
只有本站会员才能查看附件,请 登录


其实只要多设置几个测试因子就明白了,比如本例中你可以看到c处理到第2个之后,第三个“ff”就不再被替换成“00”了
1