You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何替换字符串中多个字符?仅最后一个替换生效如何解决

问题排查与修复方案

核心问题原因

  • 替换结果未累积:每次执行x = string.replace(i, " ")时,都是基于最原始的输入字符串string做替换,没有基于上一次替换完成的结果修改,所以只有最后一次分隔符的替换会被保留,之前的替换都会被覆盖。
  • 逻辑冗余且依赖全局变量:函数内部循环遍历的是全局变量s(原字符串转的列表),没有使用传入的参数,同时也不需要额外把字符串转成列表遍历,直接遍历分隔符集合更高效。

修复后代码

string = str(input("Enter a string: "))
delimiter = input("Enter delimiters: ")

def split(string, delimiter):
    # 初始化替换结果为原始字符串
    res = string
    # 遍历所有分隔符逐个替换,每次基于上一次的结果修改
    for d_char in delimiter:
        res = res.replace(d_char, " ")
    print(res)

split(string, delimiter)

效果验证

输入测试用例:

  • 输入字符串:Welcome to Python
  • 输入分隔符:oe
    运行后输出为W lc m t Pyth n,完全符合预期需求。

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:03