c++ string trim方法
在C++中,标准库(`<string>`头文件)没有直接提供字符串的 trim 方法。但你可以使用一些自定义函数或者使用现有库来实现字符串的 trim 操作。
下面是一个简单的自定义函数来删除字符串两端的空格:
```cpp
#include <iostream>
#include <string>trim函数用于删除空格
#include <cctype> // 为了使用 isspace 函数
// 自定义 trim 函数
std::string trim(const std::string& str) {
size_t first = str.find_first_not_of(' ');
if (first == std::string::npos) {
return ""; // 字符串全为空格
}
size_t last = str.find_last_not_of(' ');
return str.substr(first, (last - first + 1));
}
int main() {
std::string original = " Hello, World! ";
std::string trimmed = trim(original);
std::cout << "Original: [" << original << "]\n";
std::cout << "Trimmed: [" << trimmed << "]\n";
return 0;
}
```
在上面的例子中,`trim` 函数使用 `find_first_not_of` 到第一个不是空格的字符的位置,然后使用 `find_last_not_of` 到最后一个不是空格的字符的位置,最后通过 `substr` 截取字符串的子串。这样就得到了一个去除两端空格的字符串。
请注意,上述方法只能删除两端的空格,如果你需要删除字符串中间的空格,你可能需要使用更复杂的算法或者库来实现。在 C++17 及以上版本中,你也可以使用标准库中的 `std::string_view` 类型和 `std::erase` 算法来方便地删除字符串中的空格。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论