string的erase函数
时间: 2023-11-17 15:06:46 浏览: 39
string的erase函数用于删除字符串中的一部分字符,它有以下两种形式:
1. erase(pos, n)
该形式允许删除字符串中从位置pos开始的n个字符,即把[pos, pos+n)区间内的字符删除。
示例代码:
```cpp
string str = "hello world";
str.erase(6, 5); // 删除world
cout << str << endl; // 输出hello
```
2. erase(iterator position)
该形式允许删除字符串中指定迭代器位置的字符,即删除position所指向的字符。
示例代码:
```cpp
string str = "hello world";
auto it = str.begin() + 5; // 获取第6个字符的迭代器
str.erase(it); // 删除空格
cout << str << endl; // 输出helloworld
```
需要注意的是,如果要删除整个字符串,可以使用clear函数。
相关问题
string erase函数
string的erase函数用于删除字符串中的一部分字符。它可以接受两个参数,第一个参数是要删除的字符的起始位置,第二个参数是要删除的字符的数量。如果只传递一个参数,则从该位置开始删除到字符串的末尾。
示例代码:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
// 删除字符串中的前5个字符
str.erase(0, 5);
std::cout << str << std::endl; // 输出:", world!"
// 删除字符串中的第一个字符
str.erase(0, 1);
std::cout << str << std::endl; // 输出:" world!"
// 删除字符串中的最后一个字符
str.erase(str.length() - 1);
std::cout << str << std::endl; // 输出:" world"
return 0;
}
```
string erase
string erase函数是用来删除字符串中的字符或字符串的。它有三种不同的用法。第一种用法是erase(pos, n),其中pos是要删除的起始位置,n是要删除的字符的数量。例如,如果我们有一个字符串str = "don't go gentle into the good night",我们可以使用str.erase(0, 6)来删除从第0个位置开始的6个字符,结果将是"go gentle into the good night"。[1]
第二种用法是erase(first, last),其中first和last是迭代器,用来指定要删除的字符的范围。例如,如果我们有一个字符串str = "don't go gentle into the good night",我们可以使用str.erase(str.begin() + 8, str.end() - 20)来删除从第8个字符到倒数第20个字符之间的所有字符,结果将是"don't go into the good night"。[2]
第三种用法是用来删除指定范围的字符串。具体来说,我们可以使用erase函数来删除字符串中的子字符串。例如,如果我们有一个字符串str = "don't go gentle into the good night",我们可以使用str.erase(6, 4)来删除从第6个位置开始的4个字符,结果将是"don't go into the good night"。[3]