string类的总结
一.string类头文件:#include <string>;using namespace std;
二.string类方法:
1.获取string的字符串长度:size(),size返回的字符串的长度不带'\0'.
2.获取指定位置的子字符串:substr()(第一个参数是索引位置,第二个参数是子字符串的长度)
3.在末尾添加字符串:append()
在字符串的末尾添加str, s.apppend(str);
在字符串的末尾添加str的子串,子串以index索引开始,长度为len s.append(str,index,len)
在字符串的末尾添加str中的num个字符, 在字符串的末尾添加num个字符ch, s.append('a',5)
在字符串的末尾添加以迭代器start和end表示的字符序列
4.将字符串转化为字符串指针:c_str()
5.在字符串中查找指定字符串:find:find(str,index,len)最后的参数可以不给出,返回str第一次出现的位置,当未找到返回string::npos
size_type find( const basic_string &str, size_type index ); |
find()函数:
- 返回str在字符串中第一次出现的位置(从index开始查找)。如果没找到则返回string::npos,
- 返回str在字符串中第一次出现的位置(从index开始查找,长度为length)。如果没找到就返回string::npos,
- 返回字符ch在字符串中第一次出现的位置(从index开始查找)。如果没找到就返回string::npos
6.插入字符串:insert()
iterator insert( iterator i, const char &ch ); |
insert()函数的功能非常多:
- 在迭代器i表示的位置前面插入一个字符ch,
- 在字符串的位置index插入字符串str,
- 在字符串的位置index插入字符串str的子串(从index2开始,长num个字符),
- 在字符串的位置index插入字符串str的num个字符,
- 在字符串的位置index插入num个字符ch的拷贝,
- 在迭代器i表示的位置前面插入num个字符ch的拷贝,
- 在迭代器i表示的位置前面插入一段字符,从start开始,以end结束
7.删除字符串:
iterator erase( iterator pos ); |
erase()函数可以:
- 删除pos指向的字符, 返回指向下一个字符的迭代器,
- 删除从start到end的所有字符, 返回一个迭代器,指向被删除的最后一个字符的下一个位置
- 删除从index索引开始的num个字符, 返回*this.
参数index 和 num 有默认值, 这意味着erase()可以这样调用:只带有index以删除index后的所有字符,或者不带有任何参数以删除所有字符.
8.字符串赋值:
basic_string &assign( const basic_string &str ); |
函数以下列方式赋值:
- 用str为字符串赋值,
- 用str的开始num个字符为字符串赋值,
- 用str的子串为字符串赋值,子串以index索引开始,长度为len
- 用num个字符ch为字符串赋值.
9.替换字符串:
basic_string &replace( size_type index, size_type num, const basic_string &str ); |
replace()函数:
- 用str中的num个字符替换本字符串中的字符,从index开始
- 用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,最多num1个字符
- 用str中的num个字符(从index开始)替换本字符串中的字符
- 用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,num1个字符
- 用num2个ch字符替换本字符串中的字符,从index开始
- 用str中的字符替换本字符串中的字符,迭代器start和end指示范围
- 用str中的num个字符替换本字符串中的内容,迭代器start和end指示范围,
- 用num个ch字符替换本字符串中的内容,迭代器start和end指示范围.
string类的总结的更多相关文章
- 标准库String类
下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...
- 自己实现简单的string类
1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...
- C++ string类的实现
c++中string类的实现 今天面试被考到了, 全给忘记了!!! //string类的实现 #include <iostream> #include <string.h> ...
- String类的功能
String类 标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...
- java基础复习:final,static,以及String类
2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...
- String类和StringBuffer类的区别
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...
- 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- String类常用方法
1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...
- 运用String类实现一个模拟用户登录程序
package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...
随机推荐
- jvm小白
tomcat设置可被jconsole监控: 在catalina.bat或catalina.sh里面加上. set JAVA_OPTS=-Djava.rmi.server.hostname=127.0. ...
- 数据库版本管理工具--Flyway的使用
软件开发正常流程是:开发环境 ---> 测试环境 ----> 产环境 在开发过程中经常需要变更数据库: 表结构变更. 基础数据变更. 最直接的做法是:用客户端连上数据库直接修改. 依次修 ...
- Elasticsearch全文检索引擎。什么是elasticsearch? 有什么特点? 怎么使用?
什么是ElasticSearch? Elasticsearch是一个基于Lucene的搜索引擎.它提供了具有HTTPWeb界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎.Elasticse ...
- jupyterlab部署到docker
操作环境:mac OS 10.14.6 docker版本:10.03.1 终端:iterm2 3.3 时间:2019年8月 ::说明::jupyter没有提供单独的jupyterlab镜像,可以使用j ...
- 华三F100系列、华为USG6300系列防火墙 策略路由配置实例
策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器. 策略路由的应用: 1.可以不仅仅依 ...
- java ThreadGroup 作用 方法解析(转)
ThreadGroup线程组,java对这个类的描述呢就是“线程组表示一组线程.此外,线程组还可以包括其他线程组.线程组形成一个树,其中除了初始线程组之外的每个线程组都有一个父线程组.允许线程访问关于 ...
- redis分布式映射算法
redis分布式映射算法 一致性Hash算法的原理和实现 为了解决分布式系统中的负载均衡的问题 背景问题 有N台服务器提供缓存服务,需要对服务器进行负载均衡,将请求平均发到每台服务器上,每台服务器负载 ...
- 数据结构之单链表(golang版)
线性表之单链表 package main //线性表中的链式存储结构 //第一个节点为头节点,并不真实保存数据,头节点基本代表了整个链表 import ( "fmt" ) type ...
- 16.Azkaban的安装
工作流调度器azkaban 2.1 概述 2.1.1为什么需要工作流调度系统 l 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hiv ...
- Spring中 如果该Service有多个实现类,它怎么知道该注入哪个ServiceImpl类?
方法一:Controller中注入service的时候使用@Autowired自动注入,@Qualifier("beanId") 来指定注入哪一个. 方法二:Controller中 ...