在 C++ 中优雅地实现字符串的 trim 可以使用 STL 中的算法和 Lambda 表达式来实现。下面是一个简单的示例代码:
#include#include #include std::string trim(std::string s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int ch) { return !std::isspace(ch); })); s.erase(std::find_if(s.rbegin(), s.rend(), [](int ch) { return !std::isspace(ch); }).base(), s.end()); return s; } int main() { std::string s = " hello, world "; std::cout << "Before trim: " << s << std::endl; s = trim(s); std::cout << "After trim: " << s << std::endl; return 0; }
在上面的代码中,trim 函数使用了 std::find_if 和 Lambda 表达式来过滤掉字符串开头和结尾的空格字符。通过调用这个函数,可以优雅地实现字符串的 trim 操作。