c++ string erase
时间: 2024-10-17 15:02:31 浏览: 24
C++String类
5星 · 资源好评率100%
在 C++ 中,`std::string` 类提供了一个 `erase` 方法,用于删除字符串中的指定部分或全部字符。这个方法有两个版本:
1. `erase(size_t pos)`:从位置 `pos` 开始删除直到末尾的所有字符。`pos` 参数是从 0 开始的索引。
2. `erase(size_t pos, size_t n)`:从位置 `pos` 开始并删除 `n` 个字符。这两个参数一起定义了要删除的字符范围。
例如,如果你想删除字符串中第一个 "world" 的所有字符,可以这样做:
```cpp
std::string str = "Hello, world!";
str.erase(str.find("world"), std::string::npos); // 使用find函数找到子串的位置,npos表示查找到末尾
```
如果你只是想删除特定位置的一个字符,只需要传递一个参数:
```cpp
str.erase(7); // 删除从第8个字符开始(因为索引从0开始)的单个字符
```
注意,`erase` 方法会改变原字符串,不会返回一个新的字符串。并且,如果试图从不存在的位置或超过字符串长度的地方删除字符,不会有任何效果。
阅读全文