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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度