zoukankan      html  css  js  c++  java
  • std::string::erase in C++ 之 erase()方法截取string的前几位、后几位

    Syntax 1: Erases all characters in a string 

    string& string ::erase ()
    // CPP code to illustrate
    // erase() function
     
    #include <iostream>
    #include <string>
    using namespace std;
     
    // Function to demo erase()
    void eraseDemo(string str)
    {
        // Deletes all characters
        str.erase();
     
        cout << "After erase() : ";
        cout << str;
    }
     
    // Driver code
    int main()
    {
        string str("Hello World!");
     
        cout << "Before erase() : ";
        cout << str << endl;
        eraseDemo(str);
     
        return 0;
    }
    cpp

    output:

    Before erase() : Hello World!
    After erase() : 

    Syntax 2: Erases all characters after position ‘pos’ 

    string& string ::erase (size_type pos)
    - Throw out_of_range if idx > size().
    // CPP code to illustrate working of
    // erase(idx)
    
    #include <iostream>
    #include <string>
    using namespace std;
    
    // Function to demo erase
    void eraseDemo(string str)
    {
        // Deletes all characters except first one
        str.erase(1);
    
        cout << "After erase(idx) : ";
        cout << str;
    }
    
    // Driver code
    int main()
    {
        string str("Hello World!");
    
        cout << "Before erase(idx) : ";
        cout << str << endl;
        eraseDemo(str);
    
        return 0;
    }
    cpp

    output:

    Before erase(idx) : Hello World!
    After erase(idx) : H

    Syntax 3: Erases at most, len characters of *this, starting at index idx. 

    string& string ::erase (size_type idx, size_type len )
    - If len is missing, all remaining characters are removed.
    - Throw out_of_range if idx > size().
    - 
    // CPP code to illustrate
    // erase(size_type idx, size_type len )
    #include <iostream>
    #include <string>
    using namespace std;
    
    // Function to demo erase
    void eraseDemo(string str)
    {
        // Deletes 4 characters from index number 1
        str.erase(1, 4);
    
        cout << "After erase : ";
        cout << str;
    }
    
    // Driver code
    int main()
    {
        string str("Hello World!");
    
        cout << "Before erase : ";
        cout << str << endl;
        eraseDemo(str);
    
        return 0;
    }
    View Code

    output:

    Before erase : Hello World!
    After erase : H World!

    Syntax 4: Erase the single character at iterator position pos. 

    string& string ::erase (iterator pos)
    - Return the first character after the last character removed
    - If no such character is remaining then, returns 
      string::end() i.e. position after the last character.
    // CPP code to illustrate
    // erase(iterator pos)
    
    #include <iostream>
    #include <string>
    using namespace std;
    
    // Function to demo erase
    void eraseDemo(string str)
    {
        // Deletes character at position 4
        str.erase(str.begin() + 4);
    
        cout << "After erase : ";
        cout << str;
    }
    
    // Driver code
    int main()
    {
        string str("Hello World!");
    
        cout << "Before erase : ";
        cout << str << endl;
        eraseDemo(str);
    
        return 0;
    }
    View Code

    output:

    Before erase : Hello World!
    After erase : Hell World!

    Syntax 5: Erase characters from iterator pos. to another iterator pos.

    string& string ::erase (iterator beg, iterator end )
    - Erases all characters of the range [ beg, end)
    - Returns end i.e. the first character after the
      last character removed.
    - If no such character is remaining then, returns 
      string::end() i.e. position after the last character
    // CPP code to illustrate
    // erase(iterator pos, iterator end)
    
    #include <iostream>
    #include <string>
    using namespace std;
    
    // Function to demo erase
    void eraseDemo(string str)
    {
        // Deletes all characters between 0th index and
        // str.end() - 6
        str.erase(str.begin() + 0, str.end() - 6);
    
        cout << "After erase : ";
        cout << str;
    }
    
    // Driver code
    int main()
    {
        string str("Hello World!");
    
        cout << "Before erase : ";
        cout << str << endl;
        eraseDemo(str);
    
        return 0;
    }
    View Code

    output:

    Before erase : Hello World!
    After erase : World!

     


    from:https://www.geeksforgeeks.org/stdstringerase-in-cpp/

  • 相关阅读:
    x86 hook跳转内存地址转换计算框架
    win10180317134配合VS2017搭建WDK驱动开发环境
    C/C++字节特征码转换自动格式化文本工具算法源码
    jar包直接拷贝到WEBINF/lib下和以userLibrary引入的区别
    java.io.IOException: Cannot rename original file to %TOMCAT_HOME%\conf\tomcatusers.xml.old
    Tomcat5 和 Tomcat6 类加载器架构
    Tomcat version * only supports J2EE * Web modules
    tomcat启动时报错:org.apache.catalina.core.AprLifecycleListener init
    tomcat 不能正常启动,双击 startup.bat 一闪而过
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  • 原文地址:https://www.cnblogs.com/PiaYie/p/14605287.html
Copyright © 2011-2022 走看看