C++ string trim技巧和竅門(mén)有哪些

c++
小樊
163
2024-06-13 16:40:34

在C++中,對(duì)字符串進(jìn)行trim操作可以使用以下幾種技巧和竅門(mén):

  1. 使用STL庫(kù)中的std::string的成員函數(shù)erase和find_first_not_of來(lái)去除字符串首尾空格:
std::string trim(const std::string& str) {
    size_t start = str.find_first_not_of(" \t\n\r");
    size_t end = str.find_last_not_of(" \t\n\r");

    if (start == std::string::npos) {
        return "";
    }

    return str.substr(start, end - start + 1);
}
  1. 使用自定義的trim函數(shù),通過(guò)遍歷字符串來(lái)去除首尾空格:
std::string trim(const std::string& str) {
    int start = 0;
    int end = str.length() - 1;

    while (start <= end && std::isspace(str[start])) {
        start++;
    }

    while (end >= start && std::isspace(str[end])) {
        end--;
    }

    return str.substr(start, end - start + 1);
}
  1. 使用boost庫(kù)中的trim函數(shù)來(lái)去除字符串首尾空格:
#include <boost/algorithm/string.hpp>

std::string str = "  hello world  ";
boost::trim(str);

以上是一些常用的C++字符串trim操作的技巧和竅門(mén),通過(guò)這些方法可以實(shí)現(xiàn)對(duì)字符串的快速去除首尾空格操作。

0