std::string replace 去掉空格
时间: 2024-12-05 13:05:38 浏览: 17
`std::string` 是 C++ 标准库中的字符串类,它提供了一个名为 `replace` 的成员函数,可以用来替换字符串中的特定字符或子串。如果你想要去掉 `std::string` 中的所有空格,你可以这样做:
```cpp
#include <iostream>
#include <string>
std::string removeSpaces(const std::string& str) {
size_t start = 0;
for (size_t i = 0; i < str.length(); ++i) {
if (str[i] != ' ') { // 遇到非空格字符
str.replace(start, i - start, str.substr(i)); // 移动已找到的非空格字符到新位置
start = i + 1; // 更新开始位置
}
}
return str.substr(0, start); // 返回去掉了空格的新字符串
}
int main() {
std::string original = "Hello World, This is a test.";
std::string result = removeSpaces(original);
std::cout << "Original string: " << original << "\n";
std::cout << "String without spaces: " << result << "\n";
return 0;
}
```
这个示例中,`replace` 函数会查找从 `start` 开始的第一个不是空格的字符,并将其后面的空格替换为空。然后更新 `start` 位置以便下一次迭代。最后返回的是不含空格的部分。
阅读全文