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-09-09
  • c语言10个经典小程序

    c语言10个经典小程序

    c语言的经典程序,学习c语言的初学者可以参考下
    2013-01-01
  • C++ 函数模板完全指南(最新整理)

    C++ 函数模板完全指南(最新整理)

    文章详细解释了C++中的函数模板,通过示例代码展示了函数模板的应用,文章还讨论了模板函数与普通函数的优缺点,以及使用模板特化和重载的时机,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • C语言编程之初识数组线性查找和二分查找

    C语言编程之初识数组线性查找和二分查找

    本篇文章是C语言编程篇,主要为大家介绍C语言编程中数组的线性查找及二分查找分析讲解,有需要的朋友可以借鉴参考下,希望可以有所帮助
    2021-09-09
  • C++实现十六进制字符串转换成int整形值的示例

    C++实现十六进制字符串转换成int整形值的示例

    今天小编就为大家分享一篇关于C++实现十六进制字符串转换成int整形值的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • CRITICAL_SECTION用法案例详解

    CRITICAL_SECTION用法案例详解

    这篇文章主要介绍了CRITICAL_SECTION用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 详解VS2019使用scanf()函数报错的解决方法

    详解VS2019使用scanf()函数报错的解决方法

    本文主要介绍了详解VS2019使用scanf()函数报错的解决方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 浅谈Qt中使用CEF的几个要点(Windows下)

    浅谈Qt中使用CEF的几个要点(Windows下)

    下面小编就为大家带来一篇浅谈Qt中使用CEF的几个要点(Windows下)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • C++ OpenCV实战之零部件的自动光学检测

    C++ OpenCV实战之零部件的自动光学检测

    这篇文章主要为大家介绍一个C++ OpenCV的实战——零部件的自动光学检测,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-09-09
  • c++定义全局变量详解

    c++定义全局变量详解

    这篇文章主要给大家介绍了C++语言中定义全局变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2021-10-10

最新评论