在C++中實現字符串的trim操作,可以通過以下幾種方法來高效編碼實踐:
#include <string>
#include <algorithm>
std::string trim(const std::string& str) {
// 從開頭和結尾找到第一個非空白字符的位置
size_t first = str.find_first_not_of(" \t\n");
size_t last = str.find_last_not_of(" \t\n");
// 如果沒有非空白字符,則返回空字符串
if (first == std::string::npos) {
return "";
}
// 返回去除空白字符的子串
return str.substr(first, last - first + 1);
}
#include <string>
#include <algorithm>
std::string trim(const std::string& str) {
auto is_space = [](char c) { return std::isspace(static_cast<unsigned char>(c)); };
auto first = std::find_if_not(str.begin(), str.end(), is_space);
auto last = std::find_if_not(str.rbegin(), str.rend(), is_space);
// 返回去除空白字符的子串
return std::string(first, last.base());
}
這兩種方法都是高效的實現字符串trim操作的方式,可以根據實際情況選擇使用哪種方法。