string.erase怎么使用
时间: 2024-03-08 17:48:22 浏览: 64
string.erase() 是 C++ 语言标准库中的一个字符串成员函数,用于删除字符串中的某一部分字符。它的函数原型如下:
```c++
string& erase(size_t pos = 0, size_t n = npos);
```
其中,pos 表示要删除的起始位置(默认值为 0),n 表示要删除的字符个数(默认值为 npos,即删除从 pos 开始到字符串末尾的所有字符)。
例如,要删除字符串 str 中第 3 个字符及其后面的 4 个字符,可以这样写:
```c++
string str = "hello, world!";
str.erase(2, 4);
```
执行完上面的语句后,字符串 str 的值变成了 "he, world!"。
需要注意的是,该函数会修改原字符串,返回值为一个指向修改后的字符串的引用,因此可以通过链式调用对字符串进行多次修改。例如:
```c++
string str = "hello, world!";
str.erase(2, 4).insert(2, "lp");
```
执行完上面的语句后,字符串 str 的值变成了 "help, world!"。
相关问题
string.erase
`string.erase`是用于删除字符串中的字符或一段字符的函数。它可以接受一个参数,指定要删除的字符的位置或范围。
如果只提供一个参数,那么它将从指定位置开始删除到字符串的末尾。如果提供两个参数,第一个参数是要删除的起始位置,第二个参数是要删除的字符的数量。
以下是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
str.erase(7); // 从位置7开始删除字符
std::cout << str << std::endl; // 输出: "Hello, "
std::string str2 = "Hello, World!";
str2.erase(7, 6); // 从位置7开始删除6个字符
std::cout << str2 << std::endl; // 输出: "Hello!"
return 0;
}
```
在上面的示例中,`str.erase(7)`删除了字符串 `str` 中从位置7开始的所有字符,结果为 `"Hello, "`。而`str2.erase(7, 6)`删除了字符串 `str2` 中从位置7开始的6个字符,结果为 `"Hello!"`。
c++ string.erase
The `string.erase()` function is a member function of the C++ standard library's `string` class. It is used to remove a portion of the string, starting at a specified position and for a specified length.
Syntax:
```
string.erase(position, length);
```
Here, `position` is an integer value that specifies the starting position from where the characters are to be removed. `length` is also an integer value that specifies the number of characters to be removed.
Example:
```c++
#include <iostream>
#include <string>
int main()
{
std::string str = "Hello, World!";
// remove the first 6 characters
str.erase(0, 6);
std::cout << str << std::endl; // output: World!
return 0;
}
```
In the above example, the `erase()` function is used to remove the first 6 characters from the string `str`. The resulting string is then output to the console.
阅读全文