Jury_zeng 2021-11-06 14:03 采纳率: 83.3%
浏览 53
已结题

运用循环,不使用字符串函数,在字符串s1中删去所有s2字符串,并输出s3

输入串s1, s2 (s2是s1的子串). 将s1中所有s2消除后生成新串s3并输出. (不能使用字符串函数)
例如 (下面第1,2行输入,第3行输出)
ab123abc456abc
abc
ab123456

  • 写回答

1条回答 默认 最新

  • Fioman_Hammer 2021-11-06 14:49
    关注
    
    s1 = input()
    s2 = input()
    s3 = ""
    list1 = list(s1)
    subLen = len(s2)
    for index, c in enumerate(s1):
        if c == s2[0] and s1[index:index+subLen] == s2:
            # 这个时候就是检测到子串,然后将子串全部用None填充
            list1[index:index+subLen] = [None for x in range(subLen)]
    
    # 然后将上面的字符串列表中的None值去除掉
    s3 = "".join([x for x in list1 if x is not None])
    print(s3)
    
    
    

    结果:

    img

    如果觉得答案对你有帮助,请点击下采纳,谢谢~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 11月6日

悬赏问题

  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器