string替换多个子字符串代码
时间: 2023-11-15 20:05:56 浏览: 67
一次替换多个字符串,批量替换多个字符串 源代码
以下是一个使用 C++ 的示例代码,用于将字符串中的多个子字符串替换为另一个字符串:
```cpp
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main() {
string str = "Hello, world! Today is a beautiful day!";
unordered_map<string, string> replace_map = {{"world", "everyone"}, {"beautiful", "wonderful"}};
for (auto& [search_str, replace_str] : replace_map) {
size_t pos = str.find(search_str);
while (pos != string::npos) {
str.replace(pos, search_str.length(), replace_str);
pos = str.find(search_str, pos + replace_str.length());
}
}
cout << str << endl;
return 0;
}
```
在这个示例代码中,我们首先定义了一个字符串 `str`,其中包含多个子字符串需要替换。然后,我们定义了一个无序映射 `replace_map`,其中每个键表示需要替换的子字符串,对应的值表示替换为的字符串。
接下来,我们使用 `find` 函数查找每个需要替换的子字符串在 `str` 中的位置。如果找到了,我们使用 `replace` 函数将其替换为对应的值。然后,我们更新查找的起始位置,以继续查找下一个需要替换的子字符串,直到找不到为止。
最后,我们输出替换后的字符串 `str`。
阅读全文