top1编程
← 返回题目
题解

【基础】字符串编辑

1 条题解

  • 0
    @ 2026-7-28 23:03:24
    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	//D删除 a要删除的内容
    	//I插入 a1要插入的位置在a1 a2要插入的内容
    	//R替换 a1被替换的内容 a2要替换的内容(需要查找find())
    	string s;
    	getline(cin,s);
    	char x,y;
    	string z;
    	cin>>x>>y;
    	int p=s.find(y);
    	if(p==-1){
    		cout<<"Not exist"<<endl;
    		return 0;
    	}
    	if(x=='D'){//删除
    		s.erase(p,1);//p下标开始,删除一个字符
    		cout<<s<<endl;
    	}else if(x=='I'){
    		cin>>z;//要插入的内容
    		for(int i=s.size()-1;i>=0;i--){
    			if(s[i]==y){//找到最后一个指定字符
    				p=i;//标记下标
    				break;
    			}
    		}
    		s.insert(p,z);//将z插入到s
    		cout<<s<<endl;
    	}else if(x=='R'){
    		cin>>z;
    		while(s.find(y)!=-1){//是否还需要替换
    			p=s.find(y);//找要替换的位置
    			s.replace(p,1,z);//替换
    		}
    		cout<<s;
    	}
    	return 0;
    }
    
    • 1