

【笔记】C++的string字符串
source link: https://feiju12138.github.io/2022/09/04/C-%E7%9A%84string%E5%AD%97%E7%AC%A6%E4%B8%B2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

C++的string字符串学习笔记
字符串的创建
string str;
使用字符数组创建字符串
const char * c = "";
string str(c);
string str(str);
使用多个相同字符创建字符串
<num>
:相同字符的个数
string str(<num>, '')
字符串的赋值
string& str = str;
string& str = "";
string& str = '';
利用assign方法赋值
string& str;
str.assign(str);
string& str;
str.assign("");
- 赋值前部分字符
<num>
:前部分字符
string& str;
str.assign("", <num>);
- 把多个相同字符作为参数
<num>
:字符的个数
string& s7;
s7.assign('', <num>);
字符串的拼接
使用运算符拼接
str += str;
str += "";
str += '';
使用append方法拼接
str.append(str);
str.append("");
str.append('');
- 拼接字符串的前部分字符
<num>
:前部分字符下标
str.append("", <num>);
- 拼接字符串的中间部分字符
<start>
:开始位置下标<num>
:截取的字符个数
str.append("", <start>, <num>);
字符串的查找
- 查找指定字符串是否存在,返回int值下标
find函数
- 得到第一次出现子串的位置
从起始位置开始查找
str.find(str);
str.find("");
str.find('');
从指定位置开始查找
<index>
:开始查找的位置下标
str.find(str, <index>);
str.find("", <index>);
str.find('', <index>);
从指定位置开始查找并指定结束位置
<index>
:开始查找的位置下标<num>
:父串中需要查找的字符个数
str.find(str, <index>, <num>);
str.find("", <index>, <num>);
str.find('', <index>, <num>);
rfind函数
- 得到最后一次出现子串的位置
从起始位置开始查找
str.rfind(str);
str.rfind("");
str.rfind('');
从指定位置开始查找
<index>
:开始查找的位置下标
str.rfind(str, <index>);
str.rfind("", <index>);
str.rfind('', <index>);
从指定位置开始查找并指定结束位置
<index>
:开始查找的位置下标<num>
:父串中需要查找的字符个数
str.rfind(str, <index>, <num>);
str.rfind("", <index>, <num>);
str.rfind('', <index>, <num>);
字符串的替换
- 在字符串的指定位置替换字符串
- 并不是替换指定个数子串,而是将子串所有内容替换父串指定个数的字符
<start>
:开始位置下标<num>
:要替换的字符个数
str.replace(<start>, <num>, str);
str.replace(<start>, <num>, "");
字符串比较
- 根据每个字符的ASCII码值比较
- 如果旧串等于新串,返回0
- 如果旧串大于新串,返回1
- 如果旧串小于新串,返回-1
str_old.compare(str_new);
字符串的中某个字符的读写
直接用运算符
- 因为字符串本质是字符数组,所以可以用字符在字符数组中的下标来找到字符在字符串中的位置
<index>
:字符在字符串中的下标
str[<index>];
str[<index>] = '';
通过at函数
str.at(<index>);
str.at(<index>) = '';
字符串的插入
<index>
:想要插入的位置下标
str.insert(<index>, str);
str.insert(<index>, "");
- 插入多个相同的字符
<num>
:插入字符的个数
str.insert(<index>, <num>, '');
字符串的删除
<index>
:开始删除的位置下标<num>
:删除字符的个数
str,erase(<index>, <num>);
删除到末尾
str,erase(<index>);
<index>
:开始截取位置<num>
:开始截取的字符个数
str.substr(<index>, <num>);
从指定位置到末尾
str.substr(<index>);
从头截取指定个数的字符
str.substr(<num>);
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK