C++ string 替换掉指定的字符串详细代码
时间: 2023-10-22 16:06:45 浏览: 99
详解C++ string字符串类
下面是 C++ 代码示例,用于替换字符串中的指定子字符串:
```cpp
#include <iostream>
#include <string>
using namespace std;
void replaceAll(string& str, const string& oldStr, const string& newStr) {
size_t pos = 0;
while ((pos = str.find(oldStr, pos)) != string::npos) {
str.replace(pos, oldStr.length(), newStr);
pos += newStr.length();
}
}
int main() {
string str = "The quick brown fox jumps over the lazy dog.";
cout << "Original string: " << str << endl;
replaceAll(str, "quick", "slow");
cout << "After replacement: " << str << endl;
return 0;
}
```
在上面的示例中,我们定义了一个 `replaceAll` 函数,该函数接受三个参数:
- `str`:要替换的字符串。
- `oldStr`:要替换的子字符串。
- `newStr`:用于替换的新字符串。
该函数使用 `std::string::find` 函数查找字符串中的指定子字符串,并使用 `std::string::replace` 函数将其替换为新字符串。由于可能存在重叠的子字符串,因此我们在每次替换后将查找位置增加新字符串的长度。
在主函数中,我们首先定义了一个字符串 `str`,然后调用 `replaceAll` 函数将其中的子字符串 "quick" 替换为 "slow"。最后打印出替换后的字符串。
阅读全文