C++string类中substr()函数的使用方法+eoj1048删除子串

该篇博客主要介绍了一个编程题目,要求在给定字符串s中删除所有出现的子串s0,并输出处理后的字符串。题目提供了样例输入和输出,以及substr函数的使用示例。通过这个题目,读者可以练习字符串操作和条件判断在编程中的应用。
摘要由CSDN通过智能技术生成

题目描述

1078. 删除子串

单点时限: 2.0 sec

内存限制: 256 MB

给定字符串 s (1≤|s|≤2000) 和字符串 s0 (1≤|s0|≤100),在 s 中自左至右依次查找其中的子串 s0 并将其删除,输出剩余字符串。

输入格式

第 1 行:一个整数 T (1≤T≤10) 为问题数。

第 2~T+1 行,每行一组测试数据,包括由一个空格分开的两个字符串 s,s0(s,s0 中只含有大小写英文字母)。

输出格式

对每个测试数据,首先输出一行问题的编号(0 开始编号,格式:case #0: 等)。在接下来一行中输出在 s 中删除其含有的子串 s0 后剩余的字符串。

样例

input

3
abaabbabaabb ab
abc abc
ababababababa aba

output

case #0:
abab
case #1:

case #2:
bbba

 substr函数原型

basic_string substr(size_type _Off = 0,size_type _Count = npos) const;

参数_Off:所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0。

参数_Count:复制的字符数目

返回值:一个子字符串,从其指定的位置开始

如s="123456";

s_sub = s.substr(1,4);

s_sub = "2345"

#include<bits/stdc++.h>
using namespace std;

int main() 
{
    int T;
    cin>>T;
    for(int j = 0;j<T;j++)
    {
        cout<<"case #"<<j<<':'<<endl;
        string record,key;
        cin>>record>>key;
        for(int i=0;i<record.length();++i)
        {
            if(record.substr(i,key.length())==key)
                i+=key.length()-1;
            else cout<<record[i];
        }
        cout<<endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值