题目描述:
删除第一个字符串中出现的第二个字符串, 比如 s1:ababaabb, s2:aba, 输出应为: baabb
- #include <iostream>
- #include <string>
- using namespace std;
- int main(){
- string s1, s2;
- while(cin>> s1){
- char c = getchar();
- cin>> s2;
- int pos = -1;
- while((pos = s1.find(s2))>= 0){
- //cout << pos << endl;
- s1.erase(pos, s2.size());
- pos = -1;
- }
- cout << s1 << endl;
- }
- return 0;
- }
- s1.find(s2): return the position where s2 appear in s1. eg:s1 = "ababaabbab", s2 = "aab", and the result is 4;
- s1.find(ch): return the position where char ch appear in s1.
- s1.erase(pos, size): delete the char form pos to pos + size - 1; And return the s1 changed.
- s1.erase(pos): delete from the pos until the end.
来源: http://www.bubuko.com/infodetail-2983058.html