C++替换string中指定位置的字符
时间: 2024-10-24 11:07:12 浏览: 13
在C++中,如果你想替换`std::string`中的指定位置的字符,你可以使用`substr()`函数获取子串,然后用`assign()`函数替换这部分内容。下面是一个简单的例子:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
size_t position = 7; // 要替换的位置,从0开始计数
// 获取指定位置之前的子串
std::string prefix = str.substr(0, position);
// 获取指定位置之后的子串
std::string suffix = str.substr(position + 1); // 加1是因为索引是从0开始的
// 替换目标字符
char replacement_char = 'X'; // 要替换成的新字符
str.replace(position, 1, std::string(1, replacement_char)); // 1代表替换一个字符
std::cout << "Original string: " << str << std::endl;
return 0;
}
```
在这个例子中,原始字符串`"Hello, World!"`中的第8个字符`o`会被替换为`X`。
相关问题
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"。最后打印出替换后的字符串。
C++ string 替换指定字符串
你可以使用C++中的string类提供的replace函数来替换指定字符串。replace函数的参数是替换起始位置、替换长度和替换内容。以下是一个简单的示例代码:
```c++
#include <string>
#include <iostream>
using namespace std;
int main() {
string s = "Hello world!";
string old_str = "world";
string new_str = "C++";
size_t pos = s.find(old_str);
if(pos != string::npos) {
s.replace(pos, old_str.length(), new_str);
}
cout << s << endl; // 输出:Hello C++!
return 0;
}
```
在这个示例代码中,我们首先使用find函数找到要替换的字符串的起始位置。如果找到了要替换的字符串,就使用replace函数进行替换。最后输出替换后的字符串。需要注意的是,如果要替换的字符串在原字符串中出现多次,上述代码只会替换第一次出现的字符串。
阅读全文