亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++ string trim最佳實踐有哪些

c++
小樊
88
2024-06-13 15:44:38
欄目: 編程語言

在C++中,可以使用以下方法來實現字符串trim的最佳實踐:

  1. 使用std::string的erase()和find_first_not_of()、find_last_not_of()函數來去除字符串首尾的空格、制表符等空白字符:
#include <string>
#include <iostream>

std::string trim(const std::string &s) {
    size_t start = s.find_first_not_of(" \t\n\r");
    if(start == std::string::npos) {
        return "";
    }
    size_t end = s.find_last_not_of(" \t\n\r");
    return s.substr(start, end - start + 1);
}

int main() {
    std::string str = "  hello world  ";
    std::cout << trim(str) << std::endl; // 輸出:hello world
    return 0;
}
  1. 使用boost庫中的trim函數來去除字符串首尾的空格、制表符等空白字符:
#include <boost/algorithm/string.hpp>
#include <iostream>

int main() {
    std::string str = "  hello world  ";
    boost::trim(str);
    std::cout << str << std::endl; // 輸出:hello world
    return 0;
}
  1. 使用C++17中的std::erase_if()和std::isspace()函數來去除字符串首尾的空格、制表符等空白字符:
#include <string>
#include <iostream>
#include <algorithm>

std::string trim(const std::string &s) {
    std::string result = s;
    result.erase(result.begin(), std::find_if(result.begin(), result.end(), [](unsigned char ch) {
        return !std::isspace(ch);
    }));
    result.erase(std::find_if(result.rbegin(), result.rend(), [](unsigned char ch) {
        return !std::isspace(ch);
    }).base(), result.end());
    return result;
}

int main() {
    std::string str = "  hello world  ";
    std::cout << trim(str) << std::endl; // 輸出:hello world
    return 0;
}

這些方法都可以很好地實現字符串trim的功能,選擇其中任何一種都可以根據實際情況來進行實現。

0
班玛县| 石棉县| 齐齐哈尔市| 奉贤区| 富民县| 通渭县| 永川市| 巩义市| 黄浦区| 武山县| 岚皋县| 青岛市| 承德市| 广水市| 灵石县| 横峰县| 岐山县| 井陉县| 交口县| 邛崃市| 布拖县| 叙永县| 宣威市| 乐昌市| 自治县| 苍梧县| 新兴县| 宁远县| 缙云县| 高邑县| 凤冈县| 长泰县| 景洪市| 江山市| 清水河县| 凯里市| 崇义县| 侯马市| 日土县| 方山县| 临高县|