【发布时间】:2016-08-09 21:11:37
【问题描述】:
我想做这样的事情。
example_string = "test"
print(example_string.replace(example_string[0], "b"))
期待输出
best
但是,因为字母“t”被传递到方法中,所以最后的 t 也被替换为“b”。导致输出
besb
如何以一种会导致输出“best”而不是“besb”的方式进行操作?
【问题讨论】:
-
您可能想尝试类似
new_str = "b" + example_string[1:]的内容。replace(a,b)用于将所有出现的字符串a与b交换。 -
我不明白,你想用 'b' 替换字符串的第一个 't' 字符吗?还是索引是决定替换什么的关键(而不是 t)
-
@Lynch:那是为了替换 first 出现的子字符串,而不是 特定 出现的子字符串。
-
我无法回答,因为它已关闭,但现在我明白了。这应该有效:
word = "test"; i = word.index('t', 2); word[0:i] + "b" + word[i+1:]。当然,如果您知道要替换的字符的 id 而不是字母,则可以直接设置变量i。如果您需要替换字符串,您可以使用i+len(substring)+1对其进行调整,以确定字符串的结束位置。