我的意思是,我想将 str[9:11]
替换为另一个字符串。如果我这样做 str.replace(str[9:11], "###")
它不起作用,因为序列 [9:11] 可以不止一次。如果 str 是 "cdabcjkewabcef"
我会得到 "cd###jkew###ef"
但我只想替换第二个。
原文由 David Davó 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的意思是,我想将 str[9:11]
替换为另一个字符串。如果我这样做 str.replace(str[9:11], "###")
它不起作用,因为序列 [9:11] 可以不止一次。如果 str 是 "cdabcjkewabcef"
我会得到 "cd###jkew###ef"
但我只想替换第二个。
原文由 David Davó 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以通过执行以下操作来实现:
yourString = "Hello"
yourIndexToReplace = 1 #e letter
newLetter = 'x'
yourStringNew="".join((yourString[:yourIndexToReplace],newLetter,yourString[yourIndexToReplace+1:]))
原文由 Damian Lattenero 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
你可以做
这应该比加入像
snew=s[:9]+"###"+s[12:]
在大字符串上更快