string类使用1
- 格式:docx
- 大小:18.31 KB
- 文档页数:8
string的方法一、引言在现代计算机编程中,字符串是非常重要的一种数据类型,它通常用于存储文本和字符序列。
在Python中,字符串是一种内置的数据类型,可以使用各种方法来处理字符串,比如修改、查找和转换。
在本文中,我们将介绍Python中最常用的字符串方法,并对它们进行详细地说明。
二、字符串创建在Python中,字符串可以通过单引号、双引号或三引号创建。
单引号和双引号创建的字符串是相同的,而三引号创建的字符串可以跨越多行。
1.单引号以下示例创建一个包含hello单词的字符串:```string = 'hello'```2.双引号以下示例创建一个包含world单词的字符串:```string = "world"```3.三引号以下示例创建一个跨越多行的字符串:```string = """Pythonis a programminglanguage"""三、字符串拼接Python中可以很容易地将多个字符串拼接在一起,有多种方法可以完成这个任务。
1.使用加号连接使用加号连接字符串是最常用的方法,可以将多个字符串拼接在一起:```s1 = "hello"s2 = "world"s3 = s1 + s2print(s3)```输出结果为:```"helloworld"```2.使用join()方法使用join()方法可以将多个字符串拼接在一起,它将指定的字符串插入到列表、元组或字符串中,以将它们连接起来:```s1 = "hello"s2 = "world"s3 = "".join([s1, s2])print(s3)```输出结果为:"helloworld"```四、字符串索引和切片Python中的字符串是一个序列,每个字符都有一个相应的索引。
string.assign用法string.assign是C++中的一个成员函数,用于将一个字符串赋值给另一个字符串。
它的使用方法非常简单,只需要在等号的左侧加上等号右侧字符串即可。
下面将一步一步回答中括号内的要求,以帮助你更好地理解string.assign的用法。
string.assign是C++中的一个成员函数,它属于string类的一部分,用于将一个字符串赋值给另一个字符串。
在使用string.assign时,需要注意以下几点:1. 使用string.assign进行字符串赋值的基本语法如下:cppstring str1, str2;str1.assign(str2);上述代码将str2的值赋给str1。
这意味着str1将被完全替换为str2,并且两个字符串之间的长度和内容将完全相同。
2. 当使用string.assign进行赋值时,可以在右边添加多种类型的值。
这些值可以是常量字符串、字符数组、字符串对象或其他字符串类型。
cppstring str1, str2;str1.assign("Hello"); 使用常量字符串赋值str2.assign(str1); 使用另一个字符串对象赋值在上面的代码中,str1和str2都被赋值为"Hello"。
3. 以字符数组为参数的string.assign:cppstring str;char arr[] = "World";str.assign(arr); 使用字符数组赋值在上述代码中,str被赋值为"World",这是由字符数组arr来确定的。
4. 使用string.assign时,可以将部分字符串赋值给另一个字符串。
这时,可以通过指定起始位置和要拷贝的长度来实现。
cppstring str1 = "Hello World";string str2;str2.assign(str1, 6, 5); 将str1的第6个位置开始的5个字符赋给str2在上述代码中,str2被赋值为"World"。
new string()用法在C#编程语言中,使用"new string()"函数可以创建一个新的字符串对象。
这个函数的使用方式有几种不同的情况,下面将详细介绍这些用法。
第一种用法是创建一个空字符串。
在使用"new string()"函数时,不传入任何参数,即可创建一个值为空的字符串。
示例代码如下:string str1 = new string(); // 创建一个空字符串第二种用法是创建一个由指定字符重复多次组成的字符串。
通过传入一个字符和一个重复次数参数,可以创建一个由该字符重复指定次数所组成的字符串。
示例代码如下:string str2 = new string('A', 5); // 创建一个由5个字符'A'组成的字符串第三种用法是创建一个由指定字符数组的一部分组成的字符串。
通过传入一个字符数组、起始位置和长度参数,可以创建一个由数组中指定部分字符所组成的字符串。
示例代码如下:char[] charArray = { 'H', 'e', 'l', 'l', 'o' };string str3 = new string(charArray, 0, 3); // 创建一个由字符数组的前3个字符组成的字符串第四种用法是创建一个由指定字符数组的全部字符组成的字符串。
通过传入一个字符数组参数,可以创建一个由该数组中的所有字符所组成的字符串。
示例代码如下:char[] charArray = { 'W', 'o', 'r', 'l', 'd' };string str4 = new string(charArray); // 创建一个由字符数组中所有字符组成的字符串第五种用法是创建一个由指定字符数组的指定部分组成的字符串,并且实现在其中嵌入其他字符。
string类的字符串替换方法概述及解释说明1. 引言1.1 概述本文旨在介绍和解释Java中String类的字符串替换方法。
String是Java中最常用的类之一,用于表示和操作字符串。
字符串替换是一个常见且重要的操作,它可以帮助我们在字符串中找到指定的字符或子串,并将其替换为新的字符或子串。
1.2 文章结构本文分为四个主要部分:引言、String类的字符串替换方法、解释说明和结论。
在引言部分,我们将简要介绍文章的背景和目标,并概括讨论将要涉及到的主题。
接下来,在String类的字符串替换方法部分,我们将详细介绍三种不同的替换方法,包括方法一、方法二和方法三。
然后,在解释说明部分,我们将解释每种方法的工作原理、使用场景以及提供示例说明。
最后,在结论部分,我们将总结所发现的内容并探讨这些方法的优缺点,并展望未来它们可能发展的方向。
1.3 目的本文旨在帮助读者全面理解和掌握Java中String类提供的字符串替换方法。
通过深入研究每个方法的原理和应用场景,读者将能够更好地运用这些方法来处理自己的字符串操作需求。
我们希望读者通过本文的阅读和学习,能够增强对String类的理解,提升编程能力,并为未来的开发工作打下坚实的基础。
2. String类的字符串替换方法2.1 方法一String类提供了replace()方法来进行字符串替换。
该方法接受两个参数,第一个参数是要被替换的子串,第二个参数是替换后的新子串。
它返回一个新的字符串,其中所有匹配的子串都被替换成新的子串。
示例代码如下:```javaString str = "Hello, world!";String newStr = str.replace("world", "universe");System.out.println(newStr);```输出结果为:```Hello, universe!```2.2 方法二除了使用replace()方法进行简单字符串替换外,String类还提供了replaceAll()方法。
C#中string类使用Substring方法截取字符串
在C#的字符串操作过程中,截取字符串是一种常见的字符串操作,可使用string类的Substring方法来完成字符串的截取操作,该方法支持设定截取的开始位置以及截取的字符串长度等参数,Substring方法有两个重载方法,一个是String Substring(int startIndex),另一个则为String Substring(int startIndex, int length)。
startIndex代表开始截取的索引位置,length表示截取的长度,如果为空则代表默认截取到字符串最后一位。
举例,字符串string strA='ABCDEFGHIJKLMN';
(1)截取从第4个字符开始后面的所有字符串可使用下列语句
string result=strA.Substring(3);//索引从0开始,第一个字符代表0
(2)截取从第4个字符开始,并且往后截取5个字符长度,可使用下列语句
string result=strA.Substring(3,5);//索引从0开始,第一个字符代表0。
java中typereference使用1TypeReference是一个在Java中常用的工具类,用于获取泛型类型的具体类型信息。
它提供了一种简单的方式来解析泛型信息,避免了在编码过程中硬编码的麻烦。
本文将介绍TypeReference的用法,并通过示例代码来说明其在Java中的应用。
一、TypeReference简介TypeReference是Jackson库中的一个工具类,用于解析泛型类型的信息。
在Java的泛型机制中,编译器会将泛型类型擦除为其上界或Object类型,无法在运行时获取具体的泛型类型信息。
TypeReference 通过利用匿名内部类的方式,获取泛型类型的具体信息,并存储在TypeReference对象中。
它提供了一些方法,用于获取解析后的具体类型。
二、TypeReference的用法使用TypeReference需要创建一个继承自TypeReference的匿名内部类,并在该类中指定泛型类型。
以下是一个示例:```TypeReference<List<String>> typeReference = new TypeReference<List<String>>() {};```在TypeReference的内部会通过反射获取到List<String>的具体类型信息,并存储在typeReference对象中。
三、TypeReference的应用场景TypeReference在Java中的应用非常广泛,特别是在处理JSON数据时。
在序列化和反序列化过程中,Jackson库通常会使用TypeReference来获取泛型类型的具体信息,以便正确地进行转换。
以下是一个基于Jackson库的示例代码:```ObjectMapper objectMapper = new ObjectMapper();String json = "[\"foo\", \"bar\", \"baz\"]";TypeReference<List<String>> typeReference = newTypeReference<List<String>>() {};List<String> list = objectMapper.readValue(json, typeReference);```通过TypeReference,我们可以将JSON数据转换为List<String>类型的对象,而无需自己手动解析泛型信息。
ts类型string的用法(一)TS类型string的用法详解1. 定义字符串变量使用TS的string类型,我们可以定义字符串变量,例如:let name: string = "张三";在上述代码中,我们定义了一个名为name的字符串变量,并将其赋值为”张三”。
2. 字符串连接我们可以使用+操作符来连接多个字符串,并生成一个新的字符串,例如:let greeting: string = "Hello";let name: string = "张三";let message: string = greeting + ", " + name + "!";在上述代码中,我们首先定义了一个字符串变量greeting,并赋值为”Hello”。
然后我们定义了一个字符串变量name,并赋值为”张三”。
最后,我们使用+操作符将greeting、逗号、name和叹号连接起来,并赋值给了message。
最终,message的值为”Hello, 张三!“。
3. 字符串长度要获取字符串的长度,我们可以使用字符串的length属性,例如:let name: string = "张三";let length: number = ;在上述代码中,我们定义了一个字符串变量name,并赋值为”张三”。
然后,我们使用`来获取name的长度,并将其赋值给了length变量。
最终,length`的值为2,因为”张三”中包含两个字符。
4. 字符串索引要访问字符串中的单个字符,我们可以使用方括号加上索引的方式,索引从0开始。
例如:let name: string = "张三";let firstCharacter: string = name[0];在上述代码中,我们定义了一个字符串变量name,并赋值为”张三”。
C++中的string常用函数用法总结首先,为了在我们的程序中使用string类型,我们必须包含头文件<string>。
如下:#include <string> //注意这里不是string.h string.h是C字符串头文件#include <string>using namespace std;1.声明一个C++字符串声明一个字符串变量很简单:string Str;这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。
上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。
String类的构造函数和析构函数如下:a) string s; //生成一个空字符串sb) string s(str) //拷贝构造函数生成str的复制品c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多st rlen”的部分作为字符串的初值e) string s(cstr) //将C字符串作为s的初值f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
g) string s(num,c) //生成一个字符串,包含num个c字符h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值i) s.~string() //销毁所有字符,释放内存都很简单,我就不解释了。
2.字符串操作函数这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。
a) =,assign() //赋以新值b) swap() //交换两个字符串的内容c) +=,append(),push_back() //在尾部添加字符d) insert() //插入字符e) erase() //删除字符f) clear() //删除全部字符g) replace() //替换字符h) + //串联字符串i) ==,!=,<,<=,>,>=,compare() //比较字符串j) size(),length() //返回字符数量k) max_size() //返回字符的可能最大个数l) empty() //判断字符串是否为空m) capacity() //返回重新分配之前的字符容量n) reserve() //保留一定量内存以容纳一定数量的字符o) [ ], at() //存取单一字符p) >>,getline() //从stream读取某值q) << //将谋值写入streamr) copy() //将某值赋值为一个C_strings) c_str() //将内容以C_string返回t) data() //将内容以字符数组形式返回u) substr() //返回某个子字符串v)查找函数w)begin() end() //提供类似STL的迭代器支持x) rbegin() rend() //逆向迭代器y) get_allocator() //返回配置器下面详细介绍:2.1 C++字符串和C字符串的转换C ++提供的由C++字符串得到对应的C_string的方法是使用data()、c_str()和copy(),其中,data()以字符数组的形式返回字符串内容,但并不添加'/0'。
c,,实验报告,用string类申明字符串对象实现数组的转置C++程序设计实验报告C++实验报告实验一1. 实验要求(1)编写一个函数把华氏温度转换为摄氏温度,转换公式如下C=(F-32)*5/9(2)编写重载函数Max1可分别求两个整数,三个整数,两个双精度数,三个双精度数的最大值。
(3)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
(4)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程2. 实验内容及实验步骤(1)编写函数float Convert(float TempFer),参数和返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。
程序名:lab3_1.cpp。
(2)分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。
程序名:lab3_2.cpp(3)在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。
程序名:lab3_4.cpp(4)编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。
公式为fib(n)=fib(n-1)+fib(n-2),n2;fib(1)=fib(2)=1。
使用if语句判断函数的出口,在程序中用cout语句输出提示信息。
程序名:(转载于: 写论文网:c,,实验报告,用string类申明字符串对象实现数组的转置)lab3_5.cpp(5)使用debug中的Step Into追踪到函数内部,观察函数的调用过程。
3.源程序Lab3_1#includeiostreamusing namespace std;float fun(float x){ float y;y=(x-32)*5/9;return y;}void main(){ float f,c;cout请输入华氏温度: ;cinf;c=fun(f);cout对应的摄氏温度为: cendl; }运行结果Lab3_2#includeiostreamusing namespace std;int Max1(int x,int y){ return (xy?x:y);}int Max1(int x,int y,int z){ int h,k;h=(xy?x:y);k=(hz?h:z);return k;}double Max1(double x,double y) {return (xy?x:y);}double Max1(double x,double y,double z) { double h,k;h=(xy?x:y);k=(hz?h:z);return k;}void main(){ int i,j,k;double l,m,n;cout请输入两个整数: ;cinij;cout最大数为: Max1(i,j)endl;cout请输入三个整数: ;cinijk;cout最大数为: Max1(i,j,k)endl;cout请输入两个双精度数: ;cinlm;cout最大数为: Max1(l,m)endl;cout请输入三个双精度数: ;cinlmn;cout最大数为: Max1(l,m,n)endl;}运行结果Lab3_3#includeiostream#includecmathusing namespace std; void main(){ double p,x,y;cinxy;p=pow(x,y);coutpendl;}运行结果Lab3_4#includeiostream.hint fib(int n);int main(){int n,answer;coutEnter number:endl; cinn;cout\n\n;answer=fib(n);coutansweris thenth Fibonacci number\nendl;return 0;}int fib(int n){coutProcessing fib(n)…endl;if(n3){coutReutrn 1!\n;return(1);}elsecoutCall fib(n-2)and fib(n-1).\nendl;return(fib(n-2)+fib(n-1));}运行结果4.实验体会其实这次实验涉及C++的内容并不多,主要练习的只是C++中的输入输出和重载函数的应用。
string替换方法一、string替换的基础概念。
1.1 在编程的世界里呀,string那可太常见啦。
string呢,简单说就是一串字符。
比如说,“Hello World”这就是一个string。
那有时候呢,我们想要对这个string进行修改,其中一个重要的操作就是替换。
就好比我们有一件衣服,上面有个不喜欢的图案,想把它换成别的,这就和string替换有点像啦。
1.2 替换的意义可大啦。
想象一下,你写了一篇很长的文章,里面有个词用错了,或者你想把某个词统一换成另外一个更合适的词。
如果没有string替换的方法,那可就麻烦死啦,得一个一个地手动去改,这简直就是“大海捞针”啊。
二、string替换的常见方法。
2.1 在很多编程语言里,都有自己的内置函数来做这个事儿。
比如说在Python 里,有个replace方法。
就像这样,你有个字符串s = "I love apples",你想把"apples"换成"bananas",那你就可以用s.replace("apples", "bananas"),简单得很,就像变魔术一样。
这就好比你有个魔法棒,一挥,就把不想要的东西变成了想要的。
2.2 还有些语言呢,可能会稍微复杂一点。
但是原理都差不多。
比如说在Java 里,你可以用String类的replace方法。
不过要注意一些细节,像数据类型啥的。
这就像走钢丝一样,得小心翼翼,但是只要掌握了技巧,那也是小菜一碟。
2.3 有时候,我们可能不只是想简单地替换一个词,而是想根据一定的规则来替换。
这时候呢,就可能会用到正则表达式啦。
正则表达式就像是一把万能钥匙,可以打开很多复杂替换的大门。
不过呢,对于初学者来说,正则表达式就像一团乱麻,有点让人头疼。
但是一旦你搞懂了,那可就厉害了,就像武林高手学会了绝世武功一样。
三、string替换的注意事项。
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。
但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。
也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。
其实,可能很多人很可能会忽略掉标准C++中string类的使用。
标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。
现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。
string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="he llo";都是正确的写法。
当构造的string太长而无法表达时会抛出length_error异常;string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n);char &at(int n);operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非null终止的c字符数组const char *c_str()const;//返回一个以null终止的c字符串int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目string的特性描述:int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const; //返回string对象中可存放的最大字符串的长度int size()const; //返回当前字符串的大小int length()const; //返回当前字符串的长度bool empty()const; //当前字符串是否为空void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。
函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。
string的赋值:string &operator=(const string &s);//把字符串s赋给当前字符串string &assign(const char *s);//用c类型字符串s赋值string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值string &assign(const string &s);//把字符串s赋给当前字符串string &assign(int n,char c);//用n个字符c赋值给当前字符串string &assign(const string &s,int start,int n);//把字符串s中从start开始的n 个字符赋给当前字符串string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串string的连接:string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾string &append(const char *s); //把c类型字符串s连接到当前字符串结尾string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾string &append(const string &s); //同operator+=()string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n 个字符连接到当前字符串的结尾string &append(int n,char c); //在当前字符串结尾添加n个字符cstring &append(const_iterator first,const_iterator last);//把迭代器first和la st之间的部分连接到当前字符串的结尾string的比较:bool operator==(const string &s1,const string &s2)const;//比较两个字符串是否相等运算符">","<",">=","<=","!="均被重载用于字符串的比较;int compare(const string &s) const;//比较当前字符串和s的大小int compare(int pos, int n,const string &s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小int compare(int pos, int n,const string &s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中//pos2开始的n2个字符组成的字符串的大小int compare(const char *s) const;int compare(int pos, int n,const char *s) const;int compare(int pos, int n,const char *s, int pos2) const;compare函数在>时返回1,<时返回-1,==时返回0string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串string的交换:void swap(string &s2); //交换当前字符串与s2的值string类的查找函数:int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n 个字符在当前串中的位置int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置int rfind(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置int find_first_of(const char *s, int pos = 0) const;int find_first_of(const char *s, int pos, int n) const;int find_first_of(const string &s,int pos = 0) const;//从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。
查找失败返回string::nposint find_first_not_of(char c, int pos = 0) const;int find_first_not_of(const char *s, int pos = 0) const;int find_first_not_of(const char *s, int pos,int n) const;int find_first_not_of(const string &s,int pos = 0) const;//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::nposint find_last_of(char c, int pos = npos) const;int find_last_of(const char *s, int pos = npos) const;int find_last_of(const char *s, int pos, int n = npos) const;int find_last_of(const string &s,int pos = npos) const;int find_last_not_of(char c, int pos = npos) const;int find_last_not_of(const char *s, int pos = npos) const;int find_last_not_of(const char *s, int pos, int n) const;int find_last_not_of(const string &s,int pos = npos) const;//find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找string类的替换函数:string &replace(int p0, int n0,const char *s);//删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n0,const char *s, int n);//删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符string &replace(int p0, int n0,const string &s);//删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n0,const string &s, int pos, int n);//删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符string &replace(int p0, int n0,int n, char c);//删除p0开始的n0个字符,然后在p0处插入n个字符cstring &replace(iterator first0, iterator last0,const char *s);//把[first0,la st0)之间的部分替换为字符串sstring &replace(iterator first0, iterator last0,const char *s, int n);//把[fir st0,last0)之间的部分替换为s的前n个字符string &replace(iterator first0, iterator last0,const string &s);//把[first0,l ast0)之间的部分替换为串sstring &replace(iterator first0, iterator last0,int n, char c);//把[first0,las t0)之间的部分替换为n个字符cstring &replace(iterator first0, iterator last0,const_iterator first, const_it erator last);//把[first0,last0)之间的部分替换成[first,last)之间的字符串string类的插入函数:string &insert(int p0, const char *s);string &insert(int p0, const char *s, int n);string &insert(int p0,const string &s);string &insert(int p0,const string &s, int pos, int n);//前4个函数在p0位置插入字符串s中pos开始的前n个字符string &insert(int p0, int n, char c);//此函数在p0处插入n个字符citerator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置void insert(iterator it, const_iterator first, const_iterator last);//在it处插入[first,last)之间的字符void insert(iterator it, int n, char c);//在it处插入n个字符cstring类的删除函数iterator erase(iterator first, iterator last);//删除[first,last)之间的所有字符,返回删除后迭代器的位置iterator erase(iterator it);//删除it指向的字符,返回删除后迭代器的位置string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串string类的迭代器处理:string类提供了向前和向后遍历的迭代器iterator,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。