我希望能做类似这样的事情。
example_string = "test"
print(example_string.replace(example_string[0], "b"))
期望的输出
best
然而,因为字母“t”被传递到方法中,结尾处的“t”也被替换为“b”。导致输出如下:
besb
我该如何做,以使输出结果为“best”而不是“besb”?
.replace(old, new)
返回一个复制了旧字符串但是将其中的所有old
替换成了new
后得到的新字符串。
相反,你可以使用以下方式交换索引为i
的字符:
new_str = old_str[:i] + "b" + old_str[i+1:]
example_string.replace(example_string[0], "b", 1)
尽管像@nbryans在评论中提到的那样,使用切片替换第一个字符可能更加自然。
example_string[3]
呢? - user2357112replace()
。正如所指出的那样,当您想要对字符串(或其他序列,如列表或元组)的特定位置进行操作时,请使用切片。因此,对于您的新问题:s = example_string[:3] + "b" + example_string[4:]
- dshexample_string.replace("t", "b", 1)
example_string[3]
呢? - user2357112
new_str = "b" + example_string[1:]
。replace(a,b)
用于将字符串中所有出现的a
替换为b
。 - nbryansword = "test"; i = word.index('t', 2); word[0:i] + "b" + word[i+1:]
。当然,如果你知道要替换的字符的id而不是一个字母,你可以直接设置变量i
。如果你需要替换字符串,你可以使用i+len(substring)+1
来确定字符串的结束位置。 - Lynch