C++ std::string 类的 substr 函数

在 C++ 中,std::string 类的 substr 函数用于从字符串中提取一个子字符串。这个函数非常实用,常用于字符串处理任务。以下是 substr 函数的基本用法和细节:

函数原型

substr 函数的原型如下:

cpp 复制代码
string substr(size_t pos = 0, size_t len = npos) const;

参数

  • pos: 起始位置索引(从 0 开始),指明从哪个位置开始提取子字符串。
  • len : 长度,指明需要提取的字符数。如果 len 超出了字符串的剩余长度,函数只会提取从 pos 开始到字符串末尾的部分。
  • nposstd::string 类的一个静态成员,表示最大可能的字符串长度。

返回值

  • 返回一个 std::string 对象,包含从 pos 开始的、长度为 len 的子字符串。

示例

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "Hello, World!";
    
    // 提取从位置 7 开始的 5 个字符
    string substr1 = str.substr(7, 5); // "World"

    // 从位置 2 开始到字符串末尾
    string substr2 = str.substr(2); // "llo, World!"

    cout << substr1 << endl;
    cout << substr2 << endl;

    return 0;
}

注意事项

  • 如果 pos 超出了字符串的长度,substr 会抛出 std::out_of_range 异常。
  • 如果 pos 有效但 pos + len 超出了字符串的长度,将只提取从 pos 开始到字符串末尾的部分。

substr 函数是处理 C++ 字符串的一个非常有用的工具,它简化了许多涉及字符串分割和提取的操作。

相关推荐
小小de风呀11 小时前
de风——【从零开始学C++】(九)—vector的基本使用
开发语言·c++
MepSUxjvy11 小时前
002:RAG 入门-LangChain 读取文本
开发语言·python·langchain
我是一颗柠檬11 小时前
【JDK8新特性】方法引用与构造器引用Day3
java·开发语言·后端·intellij-idea
子榆.11 小时前
CANN自定义GEMM算子(Ascend C手写高性能矩阵乘法)
c语言·开发语言·矩阵
L_090711 小时前
【C++】数据结构之哈希表(散列表)
数据结构·c++·散列表
LB211211 小时前
C++通讯录课设(西安石油大学)
开发语言·c++·算法
王老师青少年编程11 小时前
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题1:文末附答案和解析)
c++·真题·全国青少年信息素养大赛·初赛·2026年·算法应用主题赛·初中组
专注VB编程开发20年12 小时前
python语法设计、IDE 生态、平台策略、解析器逻辑这四层的矛盾点
开发语言·ide·python
草莓熊Lotso13 小时前
【Linux系统加餐】从原理到封装:基于建造者模式实现System V信号量工业级C++封装
android·linux·运维·服务器·网络·c++·建造者模式
潜创微科技20 小时前
IT6520:USB‑C 转 MIPI 芯片方案 4K@120Hz 高清显示
c语言·开发语言