std::string 如何裁减字符串
时间: 2024-09-10 14:20:07 浏览: 46
在C++标准库中,`std::string` 类型提供了多种方法用于裁减或截取字符串。以下是几种常见的方法:
1. **substr()** 函数:该函数可以用于从指定位置开始截取一个子串。例如:
```cpp
std::string str = "Hello, World!";
std::string substr = str.substr(7); // 从第8个字符开始截取,直到结束
```
如果需要指定长度,可以这样使用:
```cpp
std::string substr = str.substr(7, 5); // 从第8个字符开始,截取5个字符
```
2. **resize()** 和 **erase()**:如果你想改变整个字符串的大小并删除多余部分,可以先resize到目标长度,然后用 erase 清除超出部分:
```cpp
str.resize(5); // 将字符串缩短为5个字符
str.erase(str.begin(), str.begin() + (str.size() - 5)); // 删除剩余部分
```
3. **clear()**:直接清除整个字符串的内容:
```cpp
str.clear(); // 删除所有字符,字符串变为空
```
4. **assign()**:如果只是想替换字符串内容,而不是截取,可以直接赋值:
```cpp
str.assign("New String"); // 全部替换为"New String"
```
以上操作会改变原字符串,如果不想修改原字符串,可以复制一份再进行操作。
阅读全文