string字符串中的空格的過濾方法

字號:

很多其他語言的libary都會有去除string類的首尾空格的庫函數(shù),但是標準C++的庫卻不提供這個功能。但是C++string也提供很強大的功能,實現(xiàn)trim這種功能也不難。下面是幾種方法:
    1.使用string的find_first_not_of,和find_last_not_of方法
    /*
    Filename : StringTrim1.cpp
    Compiler : Visual C++ 8.0
    Description : Demo how to trim string by find_first_not_of & find_last_not_of
    Release : 11/17/2006
    */
    #include
    #include
    std::string& trim(std::string &);
    int main()
    {
    std::string s = \" Hello World!! \";
    std::cout << s << \" size:\" << s.size() << std::endl;
    std::cout << trim(s) << \" size:\" << trim(s).size() << std::endl;
    return 0;
    }
    std::string& trim(std::string &s)
    {
    if (s.empty())
    {
    return s;
    }
    s.erase(0,s.find_first_not_of(\" \"));
    s.erase(s.find_last_not_of(\" \") + 1);
    return s;
    }
    2.使用boost庫中的trim,boost庫對提供很多C++標準庫沒有但是又非常常用和好用的庫函數(shù),例如正則表達式,線程庫等等。
    /*
    Filename : boostStringTrim.cpp
    Compiler : Visual C++ 8.0 / ISO C++ (boost)
    Description : Demo how to boost to trim string
    Release : 02/22/2007 1.0
    */
    #include
    #include
    #include