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

移除字符串中指定子串的重复实例(保留首次出现)

解决方案

要实现仅保留指定片段的首次出现、移除后续重复该片段的需求,确实没有直接对应的内置函数,可通过以下逻辑手动实现:

  1. 定位目标片段在字符串中的首次出现位置
  2. 将原字符串拆分为「首次出现前的内容」「目标片段」「首次出现后的剩余内容」三部分
  3. 移除剩余内容中所有的目标片段
  4. 拼接三部分内容得到最终结果

Python 实现代码

def keep_first_fragment(string, fragment):
    first_pos = string.find(fragment)
    if first_pos == -1:
        return string
    # 拆分并处理各部分
    prefix = string[:first_pos]
    target = fragment
    suffix = string[first_pos + len(fragment):].replace(fragment, "")
    return prefix + target + suffix

# 测试示例
string = "123456789123456789"
fragment = "123"
output = keep_first_fragment(string, fragment)
print(output)  # 输出: 123456789456789

代码说明

  • 用 string.find(fragment) 快速定位片段首次出现的位置,若片段不存在则直接返回原字符串
  • 对首次出现后的剩余内容,使用 replace 批量移除所有重复的目标片段
  • 拼接各部分后得到仅保留目标片段首次出现的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 04:02:02