c++的string库常用函数

2018-09-14  本文已影响0人  professordeng

本片文章介绍 C++ string 的常用函数

1. 创建字符串

string str = "hello world!";  //直接赋值
str += " i am david";         //尾部添加数据 
cout<<str<<endl;              //输出字符串 
cout<<str.length()<<endl;     //当前字符串大小
cout<<str.max_size()<<endl;   //当前容器大小
cout<<str.empty();            //判断字符串是否为空 

2. 查找

字符串查找很常见,下面介绍最常用的一种(有空可以了解一下 KMP 算法)

int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置

这个算法可以判断一个字符串是否在另一个字符串里面,而且返回所在位置。如下

string str = "hello world!";        //直接赋值
str += " i am david";                //尾部添加数据 
string str1 = "david";               //子串1 
cout<<str.find(str1,0)<<endl;        //这里将返回18
string str2 = "amy";                 //子串2
cout<<str.find(str2,0)<<endl;        //没有这个字串,所以会返回string的最大长度 

3. 替换

接上一道题,如何将查找到的 str1 替换成 str2。可以利用下面这个函数。

string &replace(int p0, int n0,const string &s);  // 删除从 p0 开始的 n0 个字符,然后在 p0 处插入串 s

利用查找函数找到替换位置,然后进行替换,如下

string str = "hello world!";       // 直接赋值
str += " i am david";              // 尾部添加数据 
string str1 = "david";             // 子串 1 
string str2 = "mary";              // 字串 2 
int start = str.find(str1,0);      // 找到插入点 
str.replace(start,str1.length(),str2); // 执行替换 
cout<<str<<endl;                   // 输出结果 

4. 插入

在指定地点进行插入,或者是字符,或者是字符串,可以利用以下函数

string &insert(int p0,const string &s);  将 s 串插入到主串的 p0 处。
string &insert(int p0,const string &s, int pos, int n); // 在主串的 p0 处插入 s 串 pos 到 n 的部分

例如,在 david 前面插入 amy‘s,如下

string str = "hello world!";       // 直接赋值
str += " i am david";               // 尾部添加数据 
string str1 = "david";              // 子串1 
string str2 = "amy's ";              // 字串2 
int start = str.find(str1,0);       // 找到插入点 
str.insert(start,str2);             // 执行插入
cout<<str<<endl;                    // 输出结果 
上一篇下一篇

猜你喜欢

热点阅读