What's the best way to trim std::string?

后端 未结 30 2954
无人及你
无人及你 2020-11-21 22:13

I\'m currently using the following code to right-trim all the std::strings in my programs:

std::string s;
s.erase(s.find_last_not_of(\" \\n\\r\\         


        
30条回答
  •  闹比i
    闹比i (楼主)
    2020-11-21 22:31

    This is what I use. Just keep removing space from the front, and then, if there's anything left, do the same from the back.

    void trim(string& s) {
        while(s.compare(0,1," ")==0)
            s.erase(s.begin()); // remove leading whitespaces
        while(s.size()>0 && s.compare(s.size()-1,1," ")==0)
            s.erase(s.end()-1); // remove trailing whitespaces
    }
    

提交回复
热议问题