C++ 删除指定字符串中的某些字符
- 题目
输入URL前缀和后缀,删除字符串中的“,/”,把URL拼接在一起且后边有“/”。
用例:
输入:/abhdsjvf/,/afsggfd
输出:/abhdsjvf/afsggfd/
- 程序实现:
#include<iostream>
#include<string>
using namespace std;
int main(){
string str; //字符串
string target=",/"; //要删除的指定字符串
int n=target.size();//要删除的指定字符串的长度
cout<<"请输入字符串str:";
while(cin>>str){
if(cin.peek()=='\n') break;//遇到回车则停止输入字符串str
}
int p=str.find(target);//找到指定删除字符串target在str中的位置
str.erase(p,n);//删除字符串str中的指定字符串target
cout<<"输出删除',/'且最后一个字符后面添加'/'的字符串str:"<<str+"/"<<endl;//返回删除后的字符串str且后边添加“/"
return 0;
}
-
结果:
-
总结:
- erase(m,n); 删除从m开始的n个字符(字符串下标从0开始往下数)。
- find()是查找字符串整体第一次出现的位置。(字符串下标从0开始往下数)。
str.find(target);//找到指定删除字符串target在str中的位置 - if(cin.peek()==’\n’) break;//遇到回车则停止输入字符串