用原字符’-‘号前字符替换vector中一组元素
时间: 2024-04-10 10:26:53 浏览: 115
如果你想用原字符'-'号前的字符替换vector中的一组元素,可以使用字符串的`substr()`函数和`replace()`函数来实现。
以下是一个示例代码,展示了如何用原字符'-'号前的字符替换vector中一组元素:
```cpp
#include <iostream>
#include <vector>
#include <string>
void replaceElements(std::vector<std::string>& container)
{
for (std::string& element : container)
{
// 找到'-'号的位置
size_t dashPos = element.find('-');
if (dashPos != std::string::npos)
{
// 获取'-'号前的子字符串
std::string substring = element.substr(0, dashPos);
// 用子字符串替换元素
element.replace(0, dashPos+1, substring);
}
}
}
int main()
{
std::vector<std::string> container = {"abc-123", "def-456", "ghi-789"};
// 替换元素
replaceElements(container);
// 输出结果
for (const std::string& element : container)
{
std::cout << element << std::endl;
}
return 0;
}
```
在上述示例中,我们有一个包含多个字符串的vector容器`container`。我们定义了一个`replaceElements`函数,用于替换vector中的元素。
在`replaceElements`函数中,我们使用循环遍历vector中的每个元素。通过查找'-'号的位置,使用`find()`函数找到'-'号的位置并返回。如果找到了'-'号,则使用`substr()`函数获取'-'号前的子字符串。然后,使用`replace()`函数将子字符串替换掉原来的元素。
最后,我们在`main()`函数中调用`replaceElements`函数来替换vector中的元素,并使用循环输出替换后的结果。
当运行上述代码时,它将输出以下结果:
```
abc
def
ghi
```
这表明我们成功使用原字符'-'号前的字符替换了vector中的元素。希望对你有所帮助!
阅读全文