河北大学2022寒假萌新程序设计训练每日知识分享-day26

每日分享——字符串常用函数

一、转置、截取、匹配函数

1.reserve()转置函数

用于反转在[first,last)范围内的字符串
(包括first指向的元素,不包括last指向的元素),

1
2
string s="Hello,World";
reverse(s.begin(),s.end());

2.substr()截取函数

头文件#include<string>
(1)字符串截取函数,从下表i开始,截取到长度为n的字符串。形式

1
s.substr(i,n);

(2)表示从下标5开始一直到字符串结束

1
string sub1=s.substr(5);

(3)s1截取整个s函数

1
string s1=s.substr();

3.strstr()函数

strstr(string1, string2)是查看string2串是否是string1串的子串,如果是的话返回string2串在string1串中的第一zhi个字符位置处的指针,否则返回null。

二、插入、删除函数

1.insert()函数

string s = “hello”;
(1)

1
2
string s1=“Ha”;
s.insert(1,s1);//s下标为1的字符前插入字符串s1

输出Hahello
(2)

1
2
char c=’+’;
s.insert(0,5,c);//在s串下标为4的字符o前插入3个字符c,输出+++hello

(3)

1
2
string str2=“hello”;
string s2=“weakhaha”;

s.insert(0,s2,1,3); // 将字符串s2从下标为1的e开始数3个字符,分别是eak,插入s串的下标为0的字符h前 输出eakhello

string(n,‘0’)输出n个0字符

2.erase()函数

erase(pos,len)

即从给定起始位置pos处开始删除, 要删除字符的长度为len

1
2
3
4
5
6
string s("abcdefg");
s.erase(s.begin(), s.end()); //可加减数字,如s.begin()+1
s.erase(0, s.length()); //数字只能跟数字,不能跟迭代器:s.erase(0, 1)
s.erase(s.begin() + 2); //这样只删除迭代器所在的字符
s.erase(14); //从位置14开始删除到末尾
s.erase(); //全部删除