如何将string的空格全部删去
时间: 2024-09-16 18:05:23 浏览: 35
在C++中,你可以使用`std::string`的`erase`或`replace`方法来删除字符串中的所有空格。这里提供两种常见的方式:
**方法一:使用`erase`和`find`**
```cpp
#include <iostream>
#include <string>
std::string removeSpaces(const std::string& str) {
std::string result;
for (size_t i = 0; i < str.length(); ) {
if (str[i] != ' ') {
result += str[i];
i++;
} else {
i++; // 如果遇到空格,直接跳过下一个字符
}
}
return result;
}
int main() {
std::string input = "Hello World with spaces";
std::string output = removeSpaces(input);
std::cout << "String without spaces: " << output << std::endl;
return 0;
}
```
**方法二:使用`replace`**
```cpp
#include <iostream>
#include <algorithm> // 引入replace_all算法
std::string removeSpaces(const std::string& str) {
return std::replace(str.begin(), str.end(), ' ', '');
}
int main() {
std::string input = "Hello World with spaces";
std::string output = removeSpaces(input);
std::cout << "String without spaces: " << output << std::endl;
return 0;
}
```
在这两个例子中,第一个方法逐个检查字符,如果不是空格则添加到结果字符串;第二个方法则是用空字符串替换所有的空格。
阅读全文