C++ string类常用方法

记得加入

#include <string> //是string而不是string.h

构造

// 创建一个默认string对象,长度为0
string str0;
//初始化为 Hello World
srting str1("Hello World");
//str2 为 HHHHH
string str2(5,'H');
//str3为str2即 Hello World
string str3(str1);
//直接赋值
string str4="Hello World";

求长度

string.length()和string.size()
int len1=str2.length();
int len2=str2.size();
//len1=len2=5

查找

查找有很多方法

string.find()

从前往后(默认0开始),返回第一次出现的位置,若未查到返回string::npos

string::size_type pos1=str1.find('W');//返回6
string::size_type pos1_1=str1.find('H',2);//从第二个位置开始查找 查找不到返回str1.npos
string::size_type pos2=str1.find("Hello");//返回0
string::size_type pos3=str1.find(str2);//返回str1.npos
string.rfind()

从后往前(默认从末尾开始)返回第一次出现的位置,若未查到返回string::npos

string::size_type pos1=str1.find("H");//返回0
string.find_first_of()

从前往后(默认从0开始)返回参数中任意一个字符第一次出现的位置,若未查到返回string::npos

string::size_type pos1=str1.find_first_of("ore");//返回1
string.find_last_of()

从前往后(默认从0开始)返回参数中任意一个字符最后一次出现的位置,若未查到返回string::npos

string::size_type pos1=str1.find_last_of("opq");//返回7 'o'最后一次出现在7

删除

string.erase()
str1.erase(str1.begin()+0); //删除后为ello World
str1.erase(str1.begin()+0,str1.begin()+5); //删除后为World
str1.erase(size_type pos,size_type len); //从pos处开始删除长为len的字符串

插入

string.insert()
size_type pos=0;
str1.insert(pos,str2);//插入后为HHHHHHello World
str1.insert(str1.begin()+0,'Q')//插入后为QHello World
str1.insert(str1.begin()+0,5,'Q')//插入后为QQQQQHello World

获取字串

string.substr()
size_type pos=0;
string s=str1.substr(3,2);//得到s为lo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值