std::string除掉空格
时间: 2023-10-23 11:12:12 浏览: 228
你可以使用以下代码将字符串中的空格去除:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
std::string removeSpaces(const std::string& str) {
std::string result = str;
result.erase(std::remove(result.begin(), result.end(), ' '), result.end());
return result;
}
int main() {
std::string input = "Hello World!";
std::string output = removeSpaces(input);
std::cout << output << std::endl; // 输出 "HelloWorld!"
return 0;
}
```
这里使用了`std::remove`函数来删除空格,并配合`std::string`的`erase`函数将空格从字符串中删除。
相关问题
std::string trim(const std::string& str);
`std::string trim(const std::string& str);` 这个函数通常是一个自定义函数,它并不是C++标准库中的一部分,其作用是去除字符串两端的空白字符。参数`str`是指向待处理字符串的常量引用。函数返回一个新的字符串,其中已经移除了原始字符串两端的所有空白字符,包括空格、制表符(tab)、换行符等。
在C++中实现这样的函数一般使用标准库提供的`std::string::find`和`std::string::erase`方法。以下是一个简单的`trim`函数实现示例:
```cpp
#include <string>
#include <algorithm>
std::string trim(const std::string& str) {
size_t first = str.find_first_not_of(" \t\n\r\f\v");
size_t last = str.find_last_not_of(" \t\n\r\f\v");
if (std::string::npos == first || std::string::npos == last) {
return "";
}
return str.substr(first, (last - first + 1));
}
```
这段代码首先找到了第一个非空白字符的位置和最后一个非空白字符的位置,然后使用`substr`方法截取这两个位置之间的子字符串。
std::string是什么
std::string是C++标准库中提供的一个字符串类型,它支持动态增长和缩小,可以方便地进行字符串的操作。你可以使用std::string来存储任意长度的字符串,无需担心内存的分配和释放问题,也不需要手动管理字符串的长度。
std::string支持多种操作,包括字符串的查找、替换、插入、删除、拼接等等。此外,它还提供了许多实用的函数,比如获取子串、转换大小写、去除空格等等。
如果你需要在C++程序中处理字符串,std::string是一个非常方便和实用的选择。
阅读全文