一. string的大小和容量::
1. size()和length():返回string对象的字符个数,他们执行效果相同。
二. string的字符串比较::
1. C ++字符串支持常见的比较操作符:>、>=、<、<=、==、!=。在使用>,>=,这些操作符的时候是根据“当前字符特性”将字符按字典顺序进行逐一得比较。字典排序靠前的字符小,比较的顺序是从前向后比较,遇到不相等的字符就按这个位置上的两个字符的比较结果确定两个字符串的大小(前面减后面)
“abcd”>”aaaa” “123”
三. string的插入:push_back() 和 insert()
void test4()
{
strings;
//尾插一个字符
s1.push_back('a');
s1.push_back('b');
s1.push_back('c');
cout<// s1:abc
//insert(pos,char):在制定的位置pos前插入字符char
s1.insert(s1.begin(),'1');
cout<// s1:1abc
}
四、string拼接字符串:append() & + 操作符
void test5()
{
//方法一:append()
strings1("abc");
s1.append("def");
cout<// s1:abcdef
//方法二:+ 操作符
strings2 = "abc";
/*s2+= "def";*/
strings3 = "def";
s2 += s3.c_str();
cout<// s2:abcdef
}
五、string的遍历:下标法
void test6()
{
strings="abcdef";
for(int i = 0; i < s1.size() ; i++ )
{
cout<
}
cout<
六、string的删除:erase()
1. erase(iterator p);//删除字符串中p所指的字符
2. erase(size_t pos = 0, size_t len =npos);//删除字符串中从索引
位置pos开始的len个字符
3. void clear();//删除字符串中所有字符
void test6()
{
strings1 = "123456789";
//s1.erase(s1.begin()+1); // 结果:13456789
//s1.erase(s1.begin()+1,s1.end()-2); // 结果:189
s1.erase(1,6); // 结果:189
}
七、string的字符替换:
1. string& replace(size_t pos, size_tn, const char *s);//将当前字符串
从pos索引开始的n个字符,替换成字符串s
2. string& replace(size_t pos, size_tn, size_t n1, char c); //将当前字符串从pos索引开始的n个字符,替换成n1个字符c
3. string& replace(iterator i1,iterator i2, const char* s);//将当前字符串[i1,i2)区间中的字符串替换为字符串s
void test7()
{
strings1("hello,world!");
cout<// 结果:12
s1.replace(s1.size()-1,1,1,'.'); // 结果:hello,world.
//这里的6表示下标 5表示长度
s1.replace(6,5,"girl"); // 结果:hello,girl.
//s1.begin(),s1.begin()+5 是左闭右开区间
s1.replace(s1.begin(),s1.begin()+5,"boy"); // 结果:boy,girl.
cout<
}
八、 string的查找:find
1. size_t find (constchar* s, size_t pos =0) const;
//在当前字符串的pos索引位置开始,查找子串s,返回找到的位置索引,
-1表示查找不到子串
2. size_t find (charc, size_t pos = 0) const;
//在当前字符串的pos索引位置开始,查找字符c,返回找到的位置索引,
-1表示查找不到字符
void test8()
{
strings("dog bird chicken bird cat");
//字符串查找-----找到后返回首字母在字符串中的下标
//1. 查找一个字符串
cout<< s.find("chicken") << endl; // 结果是:9
//2. 从下标为6开始找字符'i',返回找到的第一个i的下标
cout<< s.find('i',6) << endl; // 结果是:11
九、 string的排序:sort(s.begin(),s.end())
void test9()
{
strings = "cdefba";
sort(s.begin(),s.end());
cout<// 结果:abcdef
}
十、 string的分割/截取字符串:substr()
void test11()
{
strings1("0123456789");
strings2 = s1.substr(2,5); // 结果:23456-----参数5表示:截取的字符串的长度
cout<
}