浅谈 string
#include<string>
string s="do";
s.size();
s.insert(0,"How");
s.append("you");
s=s+"do?"
s.size();
归纳的知识点:
(1) insert函数 :第一个参数表明插入源串的位置,第二个参数表明要插入的字符串,因此利用该函数可实现串首、串尾及任意位置处的字符串插入功能。
(2) append函数 :仅有一个输入参数,在源字符串尾部追加该字符串。
(3) 利用“+”实现字符串的连接,从而创建新的字符串。
(4) size函数 :无输入参数,它表明了字符串长度值。string类本身可根据需要自动调节串所在的内存空间的大小。
string s="what's your name?"
s.replace(7,4,"her"); //替换后变为what's her name?
归纳知识点:
(1) 常用的replace函数,有三个输入参数:第一个用于指示从字符串的什么位置开始改写; 第二个用于指示从原字符串总删除多少个字符; 第三个是替换字符串的值。
string s="what's your name? my name is Tom. How do you do?";
int n=s.find("your"); //n=7
n=s.find("you",15) //n=41
归纳知识点:
(1) find("your") :从源串起始位置0(默认值)处查找有“your”字符串位置,所以结果为7.
(2) find("you",15) :从源串起始位置15处查找有“you”字符串位置,所以结果为41
string s1="How are you?";
s1.erase(s1.begin(),s1.begin()+3); //s1=are you?
string s2="Fine, thanks";
s2.erase(s2.begin(),s2.end()); //s2为空
归纳知识点:
(1) s1.erase(s1.begin(),s1.begin()+3)表明删除s1串的前三个字符;s2.erase(s2.begin(),s2.end())表明删除整个s2字符串,故没有显示结果。