How to remove all empty elements from a vector in C++

1 Answer

0 votes
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
 
int main()
{
    std::vector<std::string> v = { "c++", "", "\t", "  ", "c", "\n", "c#", "", "java"};
 
    auto isEmpty = [](const std::string &s) {
        return s.find_first_not_of(" \n\t") == std::string::npos;
    };
 
    v.erase(std::remove_if(v.begin(), v.end(), isEmpty), v.end());
 
    for (const auto &s : v ) {
        std::cout << s << ' ';
    }
 
    return 0;
}




/*
run:

c++ c c# java 

*/

 



answered Feb 17, 2022 by avibootz

Related questions

1 answer 186 views
1 answer 172 views
1 answer 84 views
1 answer 190 views
1 answer 173 views
1 answer 225 views
...