相关函数说明:
str1.find(str2)从str1中定位str2的位置,返回值为第一次出现str2位置。
str1.substr(a,b)截取a~b范围间的字符串(注:左闭右开)
#include<iostream>
#include<string>
using namespace std;
int main(){
string str1,str2;
cin>>str1>>str2;
while(str1.find(str2)!=-1){//ccccabcbbb abc
int c=str1.find(str2);
int len=str1.length();
str1=str1.substr(0,c)+str1.substr(c+str2.length(),len);
}
cout<<str1<<endl;
return 0;
}
字符串的替换操作
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
cin>>str;
str.replace(2,4,"ab");//将[2,4)范围内的字符串替换成ab
str.replace(2,4,"ddd",2);//将[2,4)范围内的字符串替换成ddd的前两个字符
cout<<str<<endl;
return 0;
}
字符串的插入操作
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
cin>>str;
cout<<str.insert(2,"aa");//给str第2个字符后面添加aa
return 0;
}
两个字符比较
#include<iostream>
#include<string>
using namespace std;
int main(){
string str1,str2;
cin>>str1>>str2;
cout<<str1.compare(str2);//两个字符串比较大小。若小于则返回-1,等于返回0,大于返回1
return 0;
}
其他常用操作:
strcpy(s1,s2) :复制字符串s2到s1
strcat(s1,s2) :连接s2到s1的末尾
strlen(s1) :返回字符串s1的长度
strcmp(s1,s2) :若s1和s2是相同的,则返回0,s1< s2,返回值小于0,若s1>s2,返回值大于0
strchr(s1,ch) :返回一个指针,指向字符串s1中字符ch第一次出现的位置
strstr(s1,s2) : 返回一个指针,指向字符串s1中字符串s2的第一次出现位置