Remove spaces from a string in C++

Understanding String Manipulation

Removing spaces from a string means eliminating all whitespace characters.

We will explore three different methods to achieve this in C++.

Method 1: Using a Loop

This method iterates through the string and copies only non-space characters.

#include <iostream>
using namespace std;

void removeSpaces(string &str) {
    int count = 0;
    for (int i = 0; i < str.length(); i++)
        if (str[i] != ' ')
            str[count++] = str[i];
    str.resize(count);
}

int main() {
    string str = "Hello World!";
    removeSpaces(str);
    cout << "Filtered String: " << str;
    return 0;
}
            
Input: Hello World!
Output: HelloWorld!

Method 2: Using Recursion

This method removes spaces recursively.

#include <iostream>
using namespace std;

void removeSpacesRecursive(string &str, int index, int count) {
    if (index == str.length()) {
        str.resize(count);
        return;
    }
    if (str[index] != ' ')
        str[count++] = str[index];
    removeSpacesRecursive(str, index + 1, count);
}

int main() {
    string str = "C++ programming";
    removeSpacesRecursive(str, 0, 0);
    cout << "Filtered String: " << str;
    return 0;
}
            
Input: C++ programming
Output: C++programming

Method 3: Using Pointers

This method uses pointers to remove spaces efficiently.

#include <iostream>
using namespace std;

void removeSpacesPointer(string &str) {
    char *i = &str[0], *j = &str[0];
    while (*i) {
        if (*i != ' ')
            *j++ = *i;
        i++;
    }
    str.resize(j - &str[0]);
}

int main() {
    string str = "Remove spaces";
    removeSpacesPointer(str);
    cout << "Filtered String: " << str;
    return 0;
}
            
Input: Remove spaces
Output: Removespaces
Strings

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

Check whether a character is a vowel or consonant: C C++ Java Python

Check whether a character is an alphabet or not: C C++ Java Python

Find the ASCII value of a character: C C++ Java Python

Length of the string without using strlen() function: C C++ Java Python

Toggle each character in a string: C C++ Java Python

Count the number of vowels: C C++ Java Python

Remove the vowels from a string: C C++ Java Python

Check if the given string is Palindrome or not: C C++ Java Python

Print the given string in reverse order: C C++ Java Python

Remove all characters from string except alphabets: C C++ Java Python

Remove spaces from a string: C C++ Java Python

Replace a sub-string in a string: C C++ Java Python

Count common sub-sequences in two strings: C C++ Java Python

Compare two strings with wildcard support in one of them: C C++ Java Python

List all permutations of a given string in dictionary order: C C++ Java Python

Operations on Strings: C C++ Java Python