A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

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

string erase in C++ - GeeksforGeeks

string erase in C++

Last Updated : 19 May, 2025

The string erase() function is a built-in function of the string class that is used to erase the whole or part of the string, shortening its length. The function provides different ways to delete a portion of a string based on either an index position or a range of characters or delete the whole string.

Example :

C++
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello, World!";

    // Erase a single character sterting
    // from index 5
    str.erase(5, 1);
    
    cout << str;
    return 0;
}
Syntax

The string erase() function provides 5 different overloads for different purposes:

C++
s.erase()                   // Erases whole string
s.erase(idx)             // Erases all characters after idx
s.erase(idx, k)        // Erases k characters after idx
s.erase(itr)             // Erases character at itr
s.erase(first, last) // Erases character in range [first, last)

Let's look at how to use each overload one by one.

Erase Single Character from Given Position

string erase() function can be used for erasing a single character from the specific position in the string.

Syntax C++

Parameters

Return Value

Example C++
#include <iostream>
#include <string>
using namespace std;

int main() {
    string s("Hello World!");

    // Deletes character at position 4
    s.erase(s.begin() + 4);

    cout << s;
    return 0;
}
Erase Range of Characters

We can also erase a range of characters from the string using string erase() function.

Syntax C++

Parameters

Return Value

Example C++
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s("Hello World!");

    // Define the range as the word "Hello "
  	auto first = s.begin();
  	auto last = s.begin() + 6;
  	
  	// Remove the range [first, last)
    s.erase(first, last);
  
    cout << s;
    return 0;
}
Erase k Characters After Given Position

The below version erases all the characters after the given index, but we can also limit the number of characters to be deleted using string::erase.

Syntax C++

Parameters

Return Value

Example C++
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s("Hello World!");

    // Deletes 5 characters starting from index number 0
    s.erase(0, 5);

    cout << s;
    return 0;
}
Erase All Characters After Given Position

string erase() function can also be instructed to erase the characters after some given position.

Syntax C++

Parameters

Return Value

Example C++
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s("Hello World!");
  
	// Deletes the word " World!"
    s.erase(5);
  
    cout << s;
    return 0;
}
Erase All Characters

The string erase() function is able to delete all the characters of the string effectively clearing it. The length of the string will be reduced to 0.

Syntax C++

Parameter

Return Value

Example C++
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s("Hello World!");

    // Erasing string using string::erase()
    s.erase();

    cout << s;
    return 0;
}


Output

(no output)
string erase() vs string clear()

The string clear() is a function used to erase the contents of the string, but it is a lot different from string erase(). Below is the table that lists the major differences between string erase() and string clear().

Aspect string::erase() string::clear() Purpose Removes specific characters or a range of characters. Removes all characters from the string. Syntax erase(position);
erase(first, last); clear(); Parameters - Position of a single character
- Range of characters (two iterators) None Returns Iterator pointing to the position after the removed range None Time Complexity - Single character: O(m), where m is the number of characters after the position.
- Range: O(m - k), where k is the size of the range. O(1), where n is the number of characters in the string. Space Complexity O(1), as it modifies the string in place. O(1), as it clears the string in place.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4