目录
头文件
#include<string>
定义
string s; // 空字符
string s2 = "hahaha"; // 注意双引号
string s3(5,'s'); // s3 = 5个s
输入
cin >> s; //常规输入
getline(cin, s); //接收空格在内的字符
getchar() + getline(cin, s); //遇到输入一串带有空格的字符串 前 先输入一个整数
增
s.insert(在s的哪个位置加,加什么)
记忆示例:
s1 = "1234567890";
s3 = "aaa";
s1.insert(5,s3); //s.insert(在s的哪个位置加,加什么)
s1 = "12345aaa67890";
删
s.erase()
记忆示例:
s1 = "0123456789";
s1.erase(5); //位置5后的全部删除 s1 = "01234"
s1.erase(5, 3); //位置5, 后删3个 s1 = "0123489”
查
记忆示例:
s.find(ss); //s中找ss,找到了返回ss第一次出现的位置, 找不到返回-1
s.find(ss, 2); //从位置2开始找
一种写法 str1.find(str2) != string::npos ==就是找不到
其他
## 提取
s.substr(从哪开始提, 提几个)
## 替换
str = "b%ab&me#"
a = str.replace(str.find("%"), 2, "**") // (要替换的开始位置,要替换掉多少个, 替换成什么)
a = "b**b&me#"
## 倒序
reverse(s.begin(), str.end()) // 头文件#include<algorithm>
## 判断s[i]是否为数字
isdigit(s[i]) 检测ch是否为十进制数字 isdigit()== 0 就不是数字
## 类型转换
stoi(字符串, 起始位置, n进制) 将n进制的字符串转换为十进制
stoi(s,0,10) //记忆stoi => string to int将字符串s (为10进制) 从位置0开始到末尾转换为10进制
本篇文章仅供博主自我学习和记忆的学习笔记,描述术语不会太准确。