【高级篇】C++ 中string的用法
0.概述
string是C++标准库的一个重要部分,本意是字符串,和字符数组不同的是,字符数组是通过一个一个字符模拟的字符串,而string本身就是字符串,string在处理字符串问题时,十分强大。
1.字符和字符串的区别
在C++语言中,字符和字符串有着严格的区别,
3.字符串的输入和输出
使用string,建议引入string 头文件
4.字符串的遍历
要去遍历一个字符串,就要知道字符串的长度,在C++中,可以通过
字符串名.size 和 字符串名.length 来确定字符串的长度
可以看出,两者作用类似。而且输出的字符串的长度是包含字符单词和单词之间的。
知道了一个字符串的长度,就可以通过for循环去遍历字符串了,比如下面的这个例子:
输入一段字符,查找其中数字的个数
可以看出,跟字符数组的用法类似。
5.string类的一些用法
1.拼接字符串
比如我们想把“hello”和“world”拼在一起显示 “hello world”
方式1:通过 “+” 符号
方式2:通过append方法
2.删除字符串 erase
erase参数一共有两个,表示要删除的起始位置和要删除的字符个数。
erase(start,num)
3. 字符串替换replace
replace的参数有三个,第一个是起始位置,第二个是要替换掉多少个,第三个是你要替换的字符串。
replace(start,num,str)
4.查找字符串 find和rfind
首先,find和rfind的区别是,find是从前往后找,rfind是从后往前找。返回的是当前字符串第一次出现的位置。 如果没有找到,返回的是 s.npos。
5.截取字符串substr
参数有两个 substr(start,length) 表示从什么地方开始,截取几个字符
6.大小写转换
} //大小写转换的第二种用法
大小写转换的第二种写法
#include <iostream> #include <string> #include <algorithm> // transform using namespace std; int main() { string str = "abcdABCD"; transform(str.begin(), str.end(), str.begin(), ::toupper); cout << str << endl; transform(str.begin(), str.end(), str.begin(), ::tolower); cout << str << endl; return 0; }7.字符串反转reverse
.jztagtree{max-height:85vh;right:0px}.jzDown{top:10vh}.jztagtree li a{background-color:#448EF6}.jztagtree li a:before{border-right:10px solid #448EF6}.jztagtree li a:hover{background:#0045a6}.jztagtree li a:hover::before{border-right:10px solid #0045a6}
$("#jztoc").toc({content: ".single", headings: "h1,h2,h3"});