std::string replace 替换字符串
时间: 2024-02-23 11:54:29 浏览: 113
std::string的replace函数可以用于替换字符串中的子串。它的函数签名如下:
```cpp
std::string& replace(size_t pos, size_t count, const std::string& str);
```
其中,pos表示要替换的起始位置,count表示要替换的字符数,str表示用于替换的字符串。
replace函数会将原字符串中从pos位置开始的count个字符替换为str。如果str的长度小于count,则只会替换掉count个字符;如果str的长度大于count,则会替换掉count个字符,并在pos位置插入str中多出来的字符。
下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::cout << "原始字符串:" << str << std::endl;
str.replace(7, 5, "C++");
std::cout << "替换后的字符串:" << str << std::endl;
return 0;
}
```
输出结果为:
```
原始字符串:Hello, world!
替换后的字符串:Hello, C++!
```
相关问题
std::string 字符串替换
你可以使用`std::string`的`replace`函数来进行字符串替换。`replace`函数接受三个参数:替换的起始位置、替换的长度和要替换的字符串。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::cout << "原始字符串: " << str << std::endl;
std::string replaceStr = "C++";
size_t startPos = str.find("World");
size_t length = 5;
if (startPos != std::string::npos) {
str.replace(startPos, length, replaceStr);
std::cout << "替换后的字符串: " << str << std::endl;
} else {
std::cout << "未找到匹配的子串" << std::endl; }
return 0;
}
```
这段代码将会输出:
```
原始字符串: Hello, World!
替换后的字符串: Hello, C++!
```
在这个示例中,我们使用`find`函数找到要替换的子串"World"的起始位置,然后使用`replace`函数将其替换为"C++"。如果找不到匹配的子串,`find`函数会返回`std::string::npos`,我们可以根据这个返回值判断是否找到了要替换的子串。
std::string 实现字符串 replace
可以使用 C++ 的标准库中的 `std::string` 类来实现字符串替换。`std::string` 类提供了 `replace` 方法,可以用来替换指定位置的字符串。
示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "hello world";
std::cout << "原始字符串: " << str << std::endl;
// 将 "world" 替换为 "C++"
str.replace(str.find("world"), 5, "C++");
std::cout << "替换后的字符串: " << str << std::endl;
return 0;
}
```
输出结果为:
```
原始字符串: hello world
替换后的字符串: hello C++
```
在代码中,我们使用 `find` 方法找到字符串中 "world" 的位置,然后使用 `replace` 方法将其替换为 "C++"。其中,第一个参数指定要替换的字符串的起始位置,第二个参数指定要替换的字符串的长度,第三个参数指定用来替换的字符串。
阅读全文