美文网首页
c++的string库常用函数

c++的string库常用函数

作者: professordeng | 来源:发表于2018-09-14 16:20 被阅读0次

    本片文章介绍 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;                    // 输出结果 
    

    相关文章

      网友评论

          本文标题:c++的string库常用函数

          本文链接:https://www.haomeiwen.com/subject/pmpogftx.html