python-str.replace() 方法的总结
字符串方法
str.replace()
,Python
官方文档描述如下:返回字符串的副本,其中出现的所有子字符串
old
都将被替换为new
。如果给出了可选参数count
,则只替换前count
次出现。
replace(self, old, new, count=-1, /)
- old,旧字符或字符串
- new,新字符或字符串
- count,最大替换数,从起始位置开始计数,默认替换所有(是默认值参数,默认为
-1
,当然,-99也可以) - 注意:replace方法替换字符串,不影响原字符串(即替换不等于改变)
例1:
print('waterlemon'.replace('e','a',0)) # count为 0,即不替换
print('waterlemon'.replace('e','a',1)) # count为 1,即替换1次
print('waterlemon'.replace('e','a',-1)) # count为 -1,默认全替换
waterlemon
watarlemon
watarlamon
例2:
str1 = "Python"
print(str1.replace("P","C"))
print(str1)
Cython # 说明不是原地修改
Python # 说明原字符串不变
小结1:
- 如果
count
参数大于0,按count
的次数在替换; - 如果
count
参数等于0,则不替换; - 如果
count
参数小于0或者未给出,默认全替换。
也即是说:(下面的表格区间是针对count的)
(- ∞,0) | 0 | (0,+ ∞) |
---|---|---|
全替换 | 不替换 | 按值替换 |