c++11 替换字符串字符
时间: 2023-08-30 17:09:15 浏览: 143
C++ 中String 替换指定字符串的实例详解
在 C++11 中,可以使用 `std::replace()` 或 `std::replace_if()` 函数来替换字符串中的字符。
以下是使用 `std::replace()` 函数替换字符串中的字符的示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
int main()
{
std::string str = "Hello, world!";
std::replace(str.begin(), str.end(), 'o', 'x');
std::cout << str << std::endl; // 输出:Hellx, wxrld!
return 0;
}
```
在上面的示例中,`std::replace()` 函数接受三个参数,分别是要替换的字符串的起始迭代器、结束迭代器和要替换的字符。在本例中,我们将字符串中的所有 'o' 替换为 'x'。
如果您只需要替换满足某些条件的字符,可以使用 `std::replace_if()` 函数。以下是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
int main()
{
std::string str = "Hello, world!";
std::replace_if(str.begin(), str.end(), [](char c){ return c == 'o'; }, 'x');
std::cout << str << std::endl; // 输出:Hellx, wxrld!
return 0;
}
```
在上面的示例中,我们使用了一个 lambda 表达式来指定要替换的字符。在本例中,我们将字符串中的所有 'o' 替换为 'x'。
阅读全文