std::string 擦除改写
时间: 2024-06-01 19:06:21 浏览: 86
std::string 是 C++ 标准库中的一个字符串类型,它提供了丰富的字符串操作函数。其中包括擦除和改写字符串的函数。
std::string::erase() 函数可以用来擦除字符串中的一部分字符。它有两个重载版本:
第一个版本接受一个参数,表示要擦除的起始位置。例如,如果想要从字符串的第三个位置开始擦除两个字符,可以这样写:
```
std::string str = "abcdef";
str.erase(2, 2); // 从第三个位置开始擦除两个字符,结果为 "abef"
```
第二个版本接受两个参数,分别表示要擦除的起始位置和要擦除的字符数。例如,如果想要从字符串的第三个位置开始擦除到末尾,可以这样写:
```
std::string str = "abcdef";
str.erase(2); // 从第三个位置开始擦除到末尾,结果为 "ab"
```
std::string::replace() 函数可以用来替换字符串中的一部分字符。它有三个重载版本:
第一个版本接受两个参数,分别表示要替换的起始位置和要替换的字符数。例如,如果想要将字符串中从第三个位置开始的两个字符替换为"xy",可以这样写:
```
std::string str = "abcdef";
str.replace(2, 2, "xy"); // 从第三个位置开始替换两个字符,结果为 "abxyef"
```
第二个版本接受三个参数,分别表示要替换的起始位置、要替换的字符数和要替换成的字符串。例如,如果想要将字符串中从第三个位置开始的两个字符替换为"xy",可以这样写:
```
std::string str = "abcdef";
str.replace(2, 2, "xy", 2); // 从第三个位置开始替换两个字符,结果为 "abxyef"
```
第三个版本接受两个迭代器参数,分别表示要替换的范围。例如,如果想要将字符串中从第三个位置开始到第五个位置之间的字符替换为"xy",可以这样写:
```
std::string str = "abcdef";
str.replace(str.begin() + 2, str.begin() + 5, "xy"); // 替换第三到五个位置之间的字符,结果为 "abxyf"
```
阅读全文