题目描述
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;
}