string字符串查找和替换

字符串的查找

string.find()函数:
这个函数比较容易理解,就是按照string 的正顺序往后进行对比,查找str第一次出现的位置。如果可以找到,则返回在sring的位置,不能找到的话,返回-1,因此我们可以写一个if函数进行判断。

void test()
{
string str1="abefcdgcdfghcd";
int pos=str1.find("cd");
if(pos==-1)
{
cout<<"字符串没有找到"<<endl;
}
else{
cout<<"cd的位置为:"<<pos<<endl;
}
}

输出的结果如图所示在这里插入图片描述
因为字符串的第一个位置是0,所以cd为4。

string.rfing()函数:
这个函数是查找目标字符串最后一次出现的位置,也是从左往右开始数位置的,但是找的是最后一次出现的位置。

void test01()
{
	string str1 = "abefcdgcdfghcd";
	int pos=str1.find("cd");
	if (pos == -1)
	{
		cout << "字符串未找到" << endl;
	}
	else
	{
		cout << "cd的位置为:" << pos << endl;
	}
	int pos1 = str1.rfind("cd");
	if (pos1 == -1)
	{
		cout << "字符串未找到" << endl;
	}
	else
	{
		cout << "cd的位置为:" << pos1 << endl;
	}
}

rfind函数输出的结果为12,cd从右往左看是处在最后位置的,然后从头开始数的话,是12,因此输出为12。在这里插入图片描述string.replace函数:
这是string的替换函数:
string& replace(int pos, int n, const string& str);
需要指定从哪个位置起,多少个字符,替换成什么样的字符串。

string str1 = "abefcdgcdfghcd";
str1.replace(2,4,"111");
cout << "str1=" << str1 << endl;

输出如下:

从字符串的第二个位置开始数,4个字符,替换成111,比较容易理解。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值