What is the preferred way to remove spaces from a string in C++? I could loop through all the characters and build a new string, but is there a better way?
C++ – How to Remove Spaces from std::string
c++stlstringwhitespace
c++stlstringwhitespace
What is the preferred way to remove spaces from a string in C++? I could loop through all the characters and build a new string, but is there a better way?
Best Answer
The best thing to do is to use the algorithm
remove_if
and isspace:Now the algorithm itself can't change the container(only modify the values), so it actually shuffles the values around and returns a pointer to where the end now should be. So we have to call string::erase to actually modify the length of the container:
We should also note that remove_if will make at most one copy of the data. Here is a sample implementation: