String函数

基本操作

string的特性描述:
int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)
int max_size()const; //返回string对象中可存放的最大字符串的长度
int size()const; //返回当前字符串的大小
int length()const; //返回当前字符串的长度
bool empty()const; //当前字符串是否为空
void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分

.find()

查找

#include<iostream>
#include<string>
using namespace std;
int main()
{
	//母串
	string str_1 = "abcdefghigklmn";

	string str_2 = "efgh";
	string str_3 = "am";
	
	//查找到  返回子串首字母在母串的当前下标(从零开始)
	cout << str_1.find(str_2) << endl;//4
	cout << str_1.find("efgh") << endl;//4

	//未查找到 返回最大值 转化整型为-1
	int place = str_1.find(str_3);
	cout << place << endl;        //-1
	cout << str_1.find(str_3) << endl;//4294967295
	cout << str_1.find("am") << endl;//4294967295
	system("pause");
	return 0;
}

.replace()

替换

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
	//下标都是从零开始


	//string &replace(int p0, int n0, const char *s);//删除从p0开始的n0个字符,然后在p0处插入串s
	string str = "abcdefghijklmn";
	str.replace(1, 2, "*#$@");
	cout << str << endl;//a*#$@defghijklmn

	//string &replace(int p0, int n0, const char *s, int n);//删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符
	str = "abcdefghijklmn";
	str.replace(1, 2, "*#$@",2);
	cout << str << endl;//a*#defghijklmn

	//string &replace(int p0, int n0, const string &s, int pos, int n);//删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符
	str = "abcdefghijklmn";
	str.replace(1, 2, "*#$@", 1,3);
	cout << str << endl; //a#$@defghijklmn


	//string &replace(int p0, int n0, int n, char c);//删除p0开始的n0个字符,然后在p0处插入n个字符c
	str = "abcdefghijklmn";
	str.replace(1, 2, 3,'*');
	cout << str << endl; //a***defghijklmn


	//普及知识 丢人 记不住
	//2<x<5,写成区间形式就是 (2,5),此为开区间;
	//2≤x≤5,写成区间的形式就是[2,5]  ,此为闭区间;
	//2<x≤5,或2≤x<5,写成区间 形式就分别是 (2,5] 或[2,5),都叫做半开区间


	system("pause");
	return 0;
}

.insert()

插入

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
	//函数在p0位置插入字符串s中pos开始的前n个字符
	//string &insert(int p0, const char *s);
	string str = "abcdefghijklmn";
	str.insert(1, "@#$%");
	cout << str << endl; //a@#$%bcdefghijklmn

	//string &insert(int p0, const char *s, int n);
	str = "abcdefghijklmn";
	str.insert(1, "@#$%",2);
	cout << str << endl;//a@#bcdefghijklmn

	//string &insert(int p0, const string &s, int pos, int n);
	str = "abcdefghijklmn";
	str.insert(1, "@#$%", 2,3);//包前包后
	cout << str << endl;//a$%bcdefghijklmn

	system("pause");
	return 0;
}

原文链接

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值