How to remove multiple spaces from a string in C++

1 Answer

0 votes
#include <iostream>
#include <string>
#include <regex>

// Function to trim and normalize whitespace in a string
std::string removeMultipleSpaces(const std::string& input) {
    std::string s = input;

    // Trim leading whitespace
    s.erase(0, s.find_first_not_of(" \t\n\r"));

    // Trim trailing whitespace
    s.erase(s.find_last_not_of(" \t\n\r") + 1);

    // Replace multiple spaces with a single space
    s = std::regex_replace(s, std::regex("\\s+"), " ");

    return s;
}

int main() {
    std::string s = "  c++  java      python      c#        ";

    std::string cleaned = removeMultipleSpaces(s);

    std::cout << cleaned << std::endl;
}



/*
run:

c++ java python c#

*/

 



answered Jul 7, 2025 by avibootz
...