查找子串并替换c++
时间: 2024-10-14 13:09:01 浏览: 33
在C++中,查找子串并替换通常涉及字符串操作,可以使用`std::string`类提供的成员函数来完成。这里有一个简单的例子演示如何使用`find()`函数查找子串,并使用`replace()`函数进行替换:
```cpp
#include <iostream>
#include <string>
// 定义查找并替换子串的函数
void replaceSubstring(std::string& str, const std::string& searchStr, const std::string& replacementStr) {
size_t pos = str.find(searchStr); // 查找子串的位置
while (pos != std::string::npos) { // 如果找到,就替换
str.replace(pos, searchStr.length(), replacementStr);
pos = str.find(searchStr, pos + replacementStr.length()); // 更新查找位置,从新开始查找
}
}
int main() {
std::string original = "Hello, world! This is a test.";
std::string oldSub = "test";
std::string newSub = "example";
replaceSubstring(original, oldSub, newSub);
std::cout << "Original string after replacement: " << original << std::endl;
return 0;
}
```
在这个例子中,`find()`返回子串首次出现的位置,如果没找到则返回`std::string::npos`。`replace()`函数接受三个参数:起始位置、需要替换的字符数以及新的子串。
阅读全文