substr()函数

substr有2种用法:
假设:string s = "0123456789";

string sub1 = s.substr(5); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = "56789"

string sub2 = s.substr(5, 3); //从下标为5开始截取长度为3位:sub2 = "567"
 

### C++ 中 `substr` 函数的用法 在 C++ 中,`substr()` 是 `std::string` 类的一个成员函数,用于从字符串中提取子字符串。其基本语法如下: ```cpp std::string substr(size_t pos = 0, size_t len = npos) const; ``` #### 参数说明 - `pos`: 要开始提取子字符串的位置(索引),默认为 0,表示从字符串的第一个字符开始。 - `len`: 要提取的字符数,默认为 `npos`,表示提取到字符串的末尾。 #### 返回值 该函数返回一个新的 `std::string` 对象,其中包含从原始字符串中提取的子字符串[^5]。 #### 使用示例 下面是一些常见的使用场景及其对应的代码实现: ##### 示例 1:从指定位置开始提取子字符串 假设有一个字符串 `"HelloWorld"`,想要从中提取从第 6 个字符开始的部分: ```cpp #include <iostream> #include <string> int main() { std::string str = "HelloWorld"; std::string subStr = str.substr(5); // 提取从下标5开始直到结尾的内容 std::cout << subStr << std::endl; // 输出: World } ``` ##### 示例 2:提取固定长度的子字符串 如果希望只获取前五个字符,则可以这样做: ```cpp #include <iostream> #include <string> int main() { std::string str = "HelloWorld"; std::string subStr = str.substr(0, 5); // 提取从开头至第五个字符之间的部分 std::cout << subStr << std::endl; // 输出: Hello } ``` ##### 示例 3:处理越界情况 当尝试访问超出范围的数据时,程序不会抛出异常而是会按照规则处理: ```cpp #include <iostream> #include <string> int main() { std::string str = "Hello"; try { std::string subStr = str.substr(10, 5); std::cout << subStr << std::endl; } catch (const std::out_of_range& e) { std::cerr << "Error: " << e.what() << '\n'; // 抛出错误提示信息 } } ``` 上述例子展示了如何安全地调用 `substr()` 方法并捕获可能发生的边界条件错误。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值