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/

  • 相关阅读:
    kali linux DVWA config 问题解决方案
    HashMap&线程
    Synchronized和java.util.concurrent.locks.Lockde区别联系
    线程池
    信息嗅探
    java子类对象和成员变量的隐写&方法重写
    Java中Super和final关键字以及异常类
    523. Continuous Subarray Sum
    494. Target Sum
    477. Total Hamming Distance
  • 原文地址:https://www.cnblogs.com/PiaYie/p/14605287.html
Copyright © 2011-2022 走看看