作为新年礼物,小T收到了长度为19 1919的一个字符串s ss。 小T希望将逗号分隔的字符串转换为空格分隔的字符串。 编写一个程序为她执行转换。 C++
时间: 2024-12-06 22:25:00 浏览: 10
一串字字符中多个逗号替换为一个 既标准分隔符(正则表达式)
在C++中,你可以使用标准库函数`std::replace`来替换字符串中的每个逗号为空格,然后用`std::stringstream`或者`std::istringstream`来分割字符串并重新组合成一个空格分隔的字符串。这里是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
#include <string>
std::string convertToSpaces(const std::string& input) {
// 使用 replace 函数替换所有逗号为空格
for (size_t i = 0; i < input.size(); ++i) {
if (input[i] == ',') {
input[i] = ' ';
}
}
// 使用 stringstream 分割字符串
std::stringstream ss(input);
std::string item;
std::string result;
// 读取每个元素并添加到结果字符串中
while (getline(ss, item, ' ')) {
result += item + " ";
}
// 移除最后的多余空格
result.pop_back();
return result;
}
int main() {
std::string s = "19, 1919";
std::string newS = convertToSpaces(s);
std::cout << "转换后的字符串: " << newS << std::endl;
return 0;
}
```
在这个程序中,`convertToSpaces`函数接受一个输入字符串,遍历整个字符串,将逗号替换为空格,然后通过`getline`逐个提取元素,并添加到新的字符串`result`中。运行这个程序,你应该能看到"19 1919"被转换成了"19 1919"这样的空格分隔字符串。
阅读全文