【发布时间】:2017-09-17 09:07:42
【问题描述】:
我写这个是为了替换 'babble' 中的所有 'b',除了第一个。
s = 'babble'
for i in range(1, len(s)):
if s[i] == s[0]:
t = s.replace(s[i],'$')
print(t)
这将打印 '$a$$le' 而不是 'ba$$le'。 这是为什么呢?
【问题讨论】:
-
你为什么期望它打印'ba$$le
-
啊哈,现在我明白你的误解了。您不能将整个字符串的索引传递给
replace(),而是一次替换字符串中的所有内容。尝试在t = s.replace(s[i],'$')之后打印t,您会看到第一次迭代后完全替换完成,后续迭代只是继续打印相同的内容。 -
这很有帮助。我误解了 s.replace 的用法。谢谢
标签: python string python-2.7 replace