C++ string类 详细用法

1.声明string对象

string mystring;//声明了一个空串mystring,其长度为0
string proverb="many a mickle makes a muckle.";//声明,并初始化
string proverb("many a mickle makes a muckle.");//函数表示法初始化对象
string sleeping(6,'z');//表示字符串"ZZZZZZ"
string sleeping(1,'z');//表示字符串"Z"

//proverb是已有的string对象
string sentence=proverb;//直接赋值给新建的对象
string sentence(proverb);//函数表示法
string sentence(proverb,0,13);//截取proverb前13个字符,赋值给sentence对象="many a mickle"


 

2.使用string对象

//字符串的赋值
string ad="throw";//定义2个对象
string word="rubbish";//
word=ad;//可以直接把一个对象的指赋给另一个
ad="wash";//也可以直接把某一字符串的值赋给string对象

//字符串的连接
string add=ad+" "+word+" "+"ship is heading";//可以使用string对象和字符串字面量连接在一起


 

3.访问字符串中的字符

string sentence="abcdefgh";//声明字符串
for(i=0;i<sentence.length();i++)//sentence.length()用来表示此字符串的长度
cout<<sentence[i];//字符串的单个字符用下标表示即可
 
string find=sentence.substr(1,3);//访问字符串的子串  表示从sentence的索引位置为1开始,取3个字符,赋值给find
string find=sentence.substr(5);//从索引位置为5开始到字符串的结尾,都赋值给find


 

4.比较字符串

string a="apple";
string b="banana";
if(a>b)  cout<<"I like apple"<<endl//直接2个字符串比较大小
b.compare(a);//b和a比较大小
b.compare(1,3,"whereareyou",4,6);//b的从索引1开始的,3个字符和“whereareyou”的从索引为4的位置开始的6个字符,来比较
                                 //就是"ple"  和  "eareyo"这两个字符串比较


 

5.搜索字符串

cout<<sentence.find(word);//函数返回搜索到的第一个子字符串中第一个字符的位置,如果失败,返回内置常量string::npos
cout<<sentence.find("man",3);//从指定的索引位置开始查找
cout<<sentence.rfind(word);//逆向搜索,返回第一个子字符串中第一个字符的位置,如果失败,返回内置常量string::npos
cout<<sentence.rfind("man",3);//从倒数的指定位置开始查找
cout<<sentence.find_first_of("AaEeIiOoUu");//查找特定字符集中的字符,此处查找以元音字母开头的字母的位置
cout<<sentence.find_last_of("AaEeIiOoUu",1,5);//从后面数,索引为1的位置开始,只搜索5个字符就停止


 

6修改字符串

 

string phrase="we can insert a string";
string words="a string into ";
phrase.insert(14,words);//将words字符串插入到phrase中索引位置为14的字符前面。
phrase.insert(14,"a string into ");//与上面语句执行的功能一样
phrase.insert(5,words,7,9);//将words字符串从7位置开始的9个字符替换掉phrase字符串索引位置为5的字符的后面
phrase.replace(13,5,words);//将phrase从位置13开始的5个字符替换成words表示的字符。


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值