C++字符串的截取问题

 更新时间:2023年08月08日 10:59:23   作者:休息一下接着来  
这篇文章主要介绍了C++字符串的截取问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C++字符串截取

按照字符串截取

/**
 * @brief   按照指定的字符串截取字符串
 * @param str  需要截取的字符串
 * @param  pattern  按照该字符串截取
 * @return 截取好的字符串vector
 */
std::vector<std::string> splitStr(std::string str, std::string pattern)
{
    std::string::size_type pos;
    std::vector<std::string> result;
    //扩展字符串以方便操作
    str += pattern;
    int size = str.size();
    for (int i = 0; i < size; i++)
    {
        pos = str.find(pattern, i);
        if (pos < size)
        {
            std::string s = str.substr(i, pos - i);
            result.push_back(s);
            i = pos + pattern.size() - 1;
        }
    }
    return result;
}

按照字符截取

/**
 * @brief   按照指定的字符截取字符串
 * @param str  需要截取的字符串
 * @param  pattern  按照该字符截取
 * @return 截取好的字符串vector
 */
std::vector<std::string> splitStr(std::string str, char pattern)
{
    // 扩展字符串,方便后面进行操作
    str.push_back(pattern);
    std::vector<std::string> result;
    auto iter = str.cbegin();
    auto iter2 = iter;
    for (iter; iter != str.cend(); ++iter)
    {
        if (*iter == pattern)
        {
            result.push_back(string(iter2, iter));
            iter2 = iter + 1;
        }
    }
    return result;
}

C++截取部分字符串(类似python的切片)

1.首先在python中取一个字符串的多少位,使用s[begin:end]。

2.c++中使用一个函数来截取字符串位

头文件:

#include <string> //注意没有.h  string.h是C的标准字符串函数数,c++中一般起名为ctring.  而string头文件是C++的字符串头文件。

函数原型: 

string substr(int pos = 0,int n ) const;

参数说明:    

  • 参数1:pos是必填参数
  • 参数2:n是可参数,表示取多少个字符,不填表示截取到末尾

该函数功能为:返回从pos开始的n个字符组成的字符串,原字符串不被改变

# include <iostream>
# include <string>
using namespace std;
int main()
{
    const string image_name = "0170.bmp";
    print(image_name.substr(0, 4));
    return 0;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言用封装方法实现飞机大战游戏

    C语言用封装方法实现飞机大战游戏

    这篇文章主要为大家详细介绍了C语言用封装方法实现飞机大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++实现简单五子棋游戏

    C++实现简单五子棋游戏

    这篇文章主要为大家详细介绍了C++实现简单五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • 详解C语言中常用的失败退出和成功返回

    详解C语言中常用的失败退出和成功返回

    在 C 语言中,封装函数时,我们通常需要判断函数调用是否成功,并据此采取不同的操作,例如,在调用系统函数或库函数时,我们通常会使用一些错误处理机制,来输出错误信息、退出程序或返回不同的状态,以下是如何参考使用这些错误处理机制的示例,需要的朋友可以参考下
    2024-12-12
  • C/C++中extern函数使用详解

    C/C++中extern函数使用详解

    extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定
    2022-09-09
  • windows下如何安装OpenCL

    windows下如何安装OpenCL

    这篇文章主要介绍了windows下如何安装OpenCL,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • C语言数据结构 双向链表的建立与基本操作

    C语言数据结构 双向链表的建立与基本操作

    这篇文章主要介绍了C语言数据结构 双向链表的建立与基本操作的相关资料,需要的朋友可以参考下
    2017-03-03
  • OpenCV边缘提取算法流程的实现(附DEMO)

    OpenCV边缘提取算法流程的实现(附DEMO)

    本文主要介绍了OpenCV边缘提取算法流程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • C语言数据结构与算法之队列的实现详解

    C语言数据结构与算法之队列的实现详解

    队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)的原则。本文将通过实例详细说说队列的实现,需要的可以学习一下
    2022-10-10
  • C++利用PCL点云库操作txt文件详解

    C++利用PCL点云库操作txt文件详解

    这篇文章主要为大家详细介绍了C++如何利用PCL点云库操作txt文件,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2024-01-01
  • C++ Qt QColorDialog使用方法

    C++ Qt QColorDialog使用方法

    本文主要介绍了C++ Qt QColorDialog使用方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论