字符串倒序
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s="abcde",temp;
temp=s;//注意要设置一个字符串变量承接倒序后的字符串,而且要对字符串进行初始化,把S赋值给temp
for(int i = 0; i<s.size();++i)
{
temp[i]=s[s.size()-i-1];
}
cout<<temp<<endl;
return 0;
}
查找子串
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s="abcdabcdabcdabcd",temp;
int n=0;//字符串的首位置是0
int sum=0;//当不知道有多少个子串的时候用while
while(s.find("cd",n)!=string::npos)//string::npos判断是否查找到这个字串,如果没有查找到就返回这个值
{//字符串的长度与位置变量,类型都是"string::size_type"实际上是一个无符号的长整数,在平时练习时,由于字符串都比较短,所以可以使用int
//或long类型的变量来表示
n=s.find("cd",n);
cout<<n<<endl;
++n;
++sum;
}
cout<<sum<<endl;
return 0;
}
连接两个字符串
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s1="abc",s2="def";
string temp=s1+s2;
cout<<temp;
return 0;
}
取子串
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s1="abc我爱祖国edf";
string s2="我爱祖国";
int n;
n=s1.find(s2,0);
string s3=s1.substr(n,s2.size());
cout<<s3<<endl;
return 0;
}
替换子串
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s1="abcedf";
string s2="ce";
int n=s1.find(s2,0);
s1.replace(n,s2.size(),"a");
cout<<s1<<endl;
return 0;
}
删除子串
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s1="abcedf";
string s2="ce";
int n=s1.find(s2,0);
s1.erase(n,s2.size());
cout<<s1<<endl;
return 0;
}