std::string::substr
时间: 2024-05-13 16:11:33 浏览: 17
`std::string::substr` 是 C++ 标准库中的一个方法,它属于 `std::string` 类。这个方法用于获取字符串的一部分。
`substr` 接受两个参数:
1. `start`:从字符串的哪个位置开始提取子串。默认情况下,起始位置是 0,也就是字符串的第一个字符。
2. `length`:要提取的子串的长度。
这个方法返回一个新的字符串,包含了从指定位置开始的指定长度的子串。原始的 `std::string` 对象不会被改变。
下面是一个简单的例子:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::string sub_str = str.substr(7, 5); // 从位置 7(包含)开始,提取长度为 5 的子串
std::cout << sub_str << std::endl; // 输出 "world"
return 0;
}
```
注意,提取子串时,开始的位置是包含在内的,而结束的位置是不包含在内的。例如,对于 `str.substr(7, 5)`,从位置 7 开始,但不会提取位置 8 及其之后的所有字符。如果开始位置超出了字符串的范围,`substr` 方法将抛出 `std::out_of_range` 异常。同样,如果提取的长度超过了字符串的长度,那么将只返回字符串的一部分。
总的来说,`std::string::substr` 方法提供了非常方便的方式来提取字符串的一部分。